

【题目描述】
小杨在数学课上学习了有趣的二进制数。十进制数是我们平时用的0-9数字,而二进制数只用0和1两个数字表示。每个十进制数都可以转换成二进制数。
十进制转二进制的方法(短除法):
举个数子:把数字9转换成二进制
9 ÷ 2 = 4 ... 余1
4 ÷ 2 = 2 ... 余0
2 ÷ 2 = 1 ... 余0
1 ÷ 2 = 0 ... 余1
从下往上读余数:1001,所以9的二进制是1001。
小杨发现有些数的二进制表示很特别:从左向右读和从右向左读是一样的!这样的数叫做"二进制回文数"。
例如:
默认小猫角色和白色背景,请你帮助小杨编写一个程序,计算从1到n的所有数字中,有多少个是二进制回文数,并把结果存储在变量ans中。
【输入描述】
新建变量“n”,表示一个正整数($1 \le n \le 10000$)。
如下如所示:

【输出描述】
新建变量“ans”,用于存储最后的结果,表示1到n之间二进制回文数的个数。
如下如所示:

【样例解释】
在1到15之间,二进制回文数有:
共6个。
【样例1】
输入:
n = 15
输出:
ans = 6
【样例2】
输入:
n = 25
输出:
ans = 8
【注意事项】