4597:[GESP202603三级] 二进制回文串

文件提交:无需freopen 内存限制:128 MB 时间限制:1.000 S
评测方式:普通裁判
金币值:
命题人:
提交:0 解决:0

题目描述

## 题目背景 2026 年 03 月 GESP C++ 三级编程第 1 题 ## 题目描述 对于一个正整数 $n$,我们将其转换为不含前导零的二进制表示,如果这个二进制序列从左向右读与从右向左读完全相同,则称该数为二进制回文数。例如,$9$ 的二进制表示为 $(1001)_2$,是二进制回文数;$12$ 的二进制表示为 $(1100)_2$,不是二进制回文数。 你的任务是:给定一个正整数 $n$,计算在 $1$ 到 $n$ 的范围内二进制回文数的数量。 ## 输入格式 输入一行,包含一个正整数 $n$。 ## 输出格式 输出一行,包含一个数,表示在 $1$ 到 $n$ 的范围内二进制回文数的数量。 ## 样例 ```input1 15 ``` ```output1 6 ``` ## 样例解释 样例 1 中,$1$ 到 $15$ 范围内 $1$、$3$、$5$、$7$、$9$、$15$ 是二进制回文数。 ## 数据范围 $1 \leq n \leq 10^5$。

来源/分类