万卷网 > 题目详情
题型:编程题

二进制回文数

【题目描述】

小杨在数学课上学习了有趣的二进制数。十进制数是我们平时用的 0-9 数字,

而二进制数只用 0 和 1 两个数字表示。每个十进制数都可以转换成二进制数。

十进制转二进制的方法(短除法):

1.把这个数不断除以 2,记下每次的余数(0 或 1)

2.一直除到商为 0 为止

3.把得到的余数从下往上读出来,就是二进制数

举个例子:把数字 9 转换成二进制

9 ÷ 2 = 4 ... 余 1

4 ÷ 2 = 2 ... 余 0

2 ÷ 2 = 1 ... 余 0

1 ÷ 2 = 0 ... 余 1

从下往上读余数:1001,所以 9 的二进制是 1001。

小杨发现有些数的二进制表示很特别:从左向右读和从右向左读是一样的!这样的数叫做"二进制回文数"。

例如:

 数字 9 的二进制是 1001,正着读和倒着读都是 1001,所以 9 是二进制回文数

 数字 12 的二进制是 1100,倒着读是 0011,去掉前面的 0 后是 11,和原来的1100 不一样,所以 12 不是二进制回文数

默认小猫角色和白色背景,请你帮助小杨编写一个程序,计算从 1 到 n 的所有数字中,有多少个是二进制回文数,并把结果存储在变量 ans 中。

【输入描述】

新建变量“n”,表示一个正整数(1 ≤ n ≤ 10000)。

如下图所示:

【输出描述】

新建变量“ans”,用于存储最后的结果,表示 1 到 n 之间二进制回文数的个数。

如下图所示:

在 1 到 15 之间,二进制回文数有:

 1(二进制 1)

 3(二进制 11)

 5(二进制 101)

 7(二进制 111)

 9(二进制 1001)

 15(二进制 1111)

共 6 个。

【输入样例】

n = 15

【输出样例】

ans = 6

【输入样例】

n = 25

【输出样例】

ans = 8

注意事项:

1、 变量名的拼写(包括大小写)要和题目完全一致。

2、 输入变量直接赋值即可,无需使用“询问并等待”积木块。

3、 输出结果存放在对应变量中即可,无需使用“说…”或“说…,2 秒”积木块。

更新时间:2026-07-26 10:28:02 |
【知识点】 CCF—GESP 图形化四级

相似题推荐

单选题

默认小猫角色,执行下列程序,按下空格键 0.5 秒后,舞台中会出现几只小猫? ( )

A.

6

B.

5

C.

1

D.

0

2026-07-27
判断题

默认小猫角色,执行下列程序,小猫说出的内容是 apple grape orange banana cherry。

A.正确 B.错误
2026-07-27
判断题

默认小猫角色,执行下列程序,输入正整数 5,小猫说出的内容为 120。

A.正确 B.错误
2026-07-27
编程题

凯撒密码

【题目描述】

小杨最近在图书馆发现了一本关于密码学的有趣书籍,里面介绍了一种古老的密码——凯撒密码。这种密码很简单:每个字母都按照字母表的顺序往后移动固定位数。比如移动 3 位,A 就变成 D,B 变成 E,C 变成 F……到了 Z 之后又回到 A,Z就变成了 C。

小杨现在得到了三行重要的信息:

1.第一行:已知的原始消息(明文)

2.第二行:已知的加密后的消息(密文),它是用凯撒密码对第一行加密得到的

3.第三行:需要解密的密文,它和前面使用了相同的移动位数

默认小猫角色和白色背景,请你帮助小杨,先根据前两行计算出字母移动了多少位,然后用这个规律破解第三行的密文,找到原始消息并把结果存储在变量 ans中。

【输入描述】

新建变量“str1”,表示已知的明文(全大写字母)

新建变量“str2”,表示对应的密文(全大写字母)

新建变量“str”,表示需要破解的密文(全大写字母)。

如下图所示:

【输出描述】

新建变量“ans”,用于存储最终的结果,表示破解后的明文。

如下图所示:

从前两行可以看出:

 A → D(向后移动 3 位)

 B → E(向后移动 3 位)

 以此类推所以移动位数是 3。对第三行密文,我们把每个字母向前移动 3 位:

 W 向前移动 3 位变成 T

 K 向前移动 3 位变成 H

 以此类推

最终得到:"THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG"

【输入样例】

str1 = ABCDEFGVWXYZ

str2 = DEFGHIJYZABC

str = WKHTXLFNEURZQIRAMXPSVRYHUWKHODCBGRJ

【输出样例】

ans

= THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG

【输入样例】

str1 = ABC

str2 = DEF

str = JRRG

【输出样例】

ans = GOOD

注意事项:

1、 变量名的拼写(包括大小写)要和题目完全一致。

2、输入变量直接赋值即可,无需使用“询问并等待”积木块。

3、输出结果存放在对应变量中即可,无需使用“说…”或“说…,2 秒”积木块。

2026-07-27
单选题

默认小猫角色,执行下列程序,第一个字符串输入 abcabc,第二个字符串输入abcaaa 小猫说出的内容是?( )

A.

0

B.

1

C.

2

D.

3

2026-07-27
公众号
客服 反馈
顶部