统计1到n范围内二进制回文数的数量
时间限制:1.0 s 内存限制:512.0 MB
题目描述
对于一个正整数n,我们将其转换为不含前导零的二进制表示,如果这个二进制序列从左向右读与从右向左读完全相同,则称该数为二进制回文数。例如,9 的二进制表示为 $(1001)_2$,是二进制回文数;12的二进制表示为 $(1100)_2$,不是二进制回文数。
你的任务是:给定一个正整数n,计算在1到n的范围内二进制回文数的数量。
输入格式
输入一行,包含一个正整数n。
输出格式
输出一行,包含一个数,表示在1到n的范围内二进制回文数的数量。
样例
输入样例 1
15
输出样例 1
6
样例解释
样例1中,1到15范围内的二进制回文数为 1、3、5、7、9、15,共6个。
数据范围
$1 \leq n \leq 10^5$
本题为编程题,提交代码并运行通过测试点后判分。
正在加载题目数据…
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析