计算1到n范围内的二进制回文数的数量

vq676978 程序题 共 个子题

题目描述

对于一个正整数 n,我们将其转换为不含前导零的二进制表示,如果这个二进制序列从左向右读与从右向左读完全相同,则称该数为二进制回文数。例如, 9 的二进制表示为 1001,是二进制回文数; 12的二进制表示为 1100,不是二进制回文数。 你的任务是:给定一个正整数,计算在1 到 n 的范围内二进制回文数的数量。

输入格式

输入一行,包含一个正整数 n。

输出格式

输出一行,包含一个整数,表示在 1 到 n 的范围内二进制回文数的数量。

输入样例

15

输出样例

6

样例解释

样例 1 中,1到 15范围内 1、3 、5 、7 、9 、15 是二进制回文数。

数据范围

1 ≤ n ≤ 10^5

本题为编程题,提交代码并运行通过测试点后判分。

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
提交记录
共 条 仅展示自由练习提交
正在加载提交记录…
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧