【题目描述】 小杨在数学课上学习了二进制数,每个十进制数都可以转换为二进制数,转换方法为短除法:
示例:将9转换为二进制:
9 ÷ 2 = 4 余 1
4 ÷ 2 = 2 余 0
2 ÷ 2 = 1 余 0
1 ÷ 2 = 0 余 1
从下往上读余数得1001,因此9的二进制表示为1001。
二进制回文数定义:二进制表示从左向右读和从右向左读完全相同的数。 示例:
1001,正读反读一致,是二进制回文数1100,反读为0011,去除前导零后为11,与原表示不同,不是二进制回文数要求编写程序,计算从1到n的所有数字中二进制回文数的个数,将结果存储在变量ans中。
【输入描述】
输入正整数n,满足 1 ≤ n ≤ 10000。
【输出描述】
结果存储在变量ans中,表示1到n之间二进制回文数的个数。
【样例说明】
1到15之间的二进制回文数有:1(1)、3(11)、5(101)、7(111)、9(1001)、15(1111),共6个。
【输入样例1】
n=15
【输出样例1】
ans=6
【输入样例2】
n=25
【输出样例2】
ans=8
【注意事项】
变量名拼写(含大小写)需与题目要求完全一致,输入n为给定正整数,结果存入ans变量即可。