题库首页 › GESP等级认证(Python) › 题目 20830

二进制回文串 时间限制:1.0 s 内存限制:512.0 MB 题目描述 对于一个正整数n,我们将其转换为不含前导零的二进制表示,如果这个二进制序列从左向右读与从右向左读完全相同,则称该数为二进制回文数。例如,9的二进制表示为(1001)2,是二进制回文数;12的二进制表示为(1100)2,不是二进制回文数。 你的任务是:给定一个正整数n,计算在1到n的范围内二进制回文数的数量。 输入格式 输入一行,包含一个正整数n。 输出格式 输出一行,包含一个数,表示在1到n的范围内二进制回文数的数量。 输入样例 15 输出样例 6 样例解释 样例 1 中,1到15范围内1、3、5、7、9、15是二进制回文数。 数据范围 1≤n≤105。

正确答案:参考程序(Python):n=int(input());cnt=0;for x in range(1,n+1):b=bin(x)[2:];cnt+=1 if b==b[::-1] else 0;print(cnt)。样例→6。核心:二进制回文计数。

试卷来源:202603 CCF-GESP编程能力等级认证Python三级真题

本卷相关题目

在线做题 同科目题库