蓝桥题库每日一练 · 2026.10.19
10月19日 「123 数学黑洞」:任意给一串数字,按下面的规…
「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 生成,请谨慎使用。
难度依赛考组别及等考级别粗略评估,仅供参考。