谜题 IBM-248
两个旋转数字环把整数变成平方数
IBM Research · Ponder This · 2018 年 12 月
IBM Ponder This #248 · 2018 年 12 月
有两个圆环,每个按循环顺序写四个整数。每次可选一个圆环,把当前数乘以它底部的数字,再将该环顺时针转到下一个数字。目标是把给定整数变成完全平方数。
例如圆环初态为 [3,14,15,92] 与 [6,5,3,5],各列表首数在底部。对输入 42,可按下列步骤完成:
1st circle [3,14,15,92] 42*3=126
2nd circle [6,5,3,5] 126*6=756
2nd circle [5,3,5,6] 756*5=3,780
2nd circle [3,5,6,5] 3780*3=11,340
2nd circle [5,6,5,3] 11340*5=56,700
1st circle [14,15,92,3] 56700*14=793,800
2nd circle [6,5,3,5] 793800*6=4,762,800
1st circle [15,92,3,14] 4762800*15=71,442,000
2nd circle [5,3,5,6] 71442000*5=357,210,000
and getting a square (357,210,000 = 18,900**2).
这个例子还有更简单的步骤。
本题要求设计两个圆环及固定初态,使 1 至 65,536 中至少 2,187 个不同整数都可由此变成平方数。
不得使用“无聊”圆环:如果仅使用某一环时,可处理整数的集合对乘法封闭,即能处理 X、Y 就也能处理 XY,则该环称为无聊。示例的两个环中有一个是无聊的,哪一个?
解答
认真尝试后再打开待补充。