#GESP3M260301. [GESP三级2026年03月] 二进制回文串

    ID: 5369 传统题 1000ms 512MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>GESP三级CCFC++2026年03月真题编程题二进制枚举数位处理

[GESP三级2026年03月] 二进制回文串

二进制回文串

题目描述

对于一个正整数 nn,我们将其转换为不含前导零的二进制表示。如果这个二进制序列从左向右读与从右向左读完全相同,则称该数为二进制回文数。

例如,99 的二进制表示为 1001,是二进制回文数;1212 的二进制表示为 1100,不是二进制回文数。

你的任务是:给定一个正整数 nn,计算在 11 到 nn 的范围内二进制回文数的数量。

输入格式

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

输出格式

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

样例 1

15
6

样例解释

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

数据范围

1≤n≤1061 \le n \le 10^6。

运行环境

C++17,标准输入输出。

来源

CCF GESP 编程能力等级认证 · C++ 三级 · 2026 年 03 月。