蓝桥题库每日一练 · 2026.10.19

10月19日 「123 数学黑洞」:任意给一串数字,按下面的规…

Scratch编程题参考难度 ★★★☆☆STEMA 选拔赛 · 已用
「123 数学黑洞」:任意给一串数字,按下面的规则反复变换,有限次之后一定会变成 123,再也逃不出去。规则:① 数出这串数字里偶数数字的个数、奇数数字的个数和数字的总个数;② 按「偶-奇-总」的顺序把这三个数排成一串新的数字。例如 12345:偶数 2 个、奇数 3 个、总共 5 个,得到 235;再算 235:偶数 1 个、奇数 2 个、总共 3 个,得到 123。编程要求:① 点绿旗,小猫询问「请输入任意长度的数字串」并等待输入;② 输入之后,小猫依次说出这个数字串第 1 次、第 2 次、第 3 次……的计算结果(每句说 2 秒),说法如「888888的第1次计算结果是606」,直到计算结果为 123 为止(如果输入的就是 123,也要算一次,说「123的第1次计算结果是123」)。
样例
输入 888888输出 888888的第1次计算结果是606 888888的第2次计算结果是303 888888的第3次计算结果是123
评分标准
  • 20 分:能够正常输入数字串
  • 30 分:小猫说出的第一次计算结果正确
  • 30 分:小猫每次的计算结果都正确,并最后得到 123
  • 20 分:小猫每次对次数的表述也完全正确,且完全符合题意
参考解法
先把规则玩一遍,你就知道程序要干什么了。拿 888888 来说:6 个 8 都是偶数,所以偶数 6 个、奇数 0 个、总共 6 个,排起来是 606;再算 606:6、0、6 都是偶数(0 也是偶数哦),偶 3 奇 0 共 3,得 303;再算 303:只有 0 是偶数,偶 1 奇 2 共 3,得 123——掉进黑洞了。

所以程序就是一件事反复做:「把一串数字里的偶数、奇数数一数,再排成新的一串」,直到得到 123。拆开看要三样本领:

① 一个字一个字地看:「(结果) 的第 (i) 个字符」能取出第 i 个数字,「(结果) 的字符数」告诉你一共几个。让 i 从 1 数到字符数,就把每个数字都摸了一遍。

② 判断奇偶:一个数除以 2,余数是 0 就是偶数,余数是 1 就是奇数。用「(数字) 除以 (2) 的余数 = 0」来判断,是偶数就给「偶数」变量加 1,否则给「奇数」加 1。……

看此题详解,练更多题目,进入蓝桥题库每日一练 →

此答案或解析由 AI 生成,请谨慎使用。
难度依赛考组别及等考级别粗略评估,仅供参考。