谜题 IBM-271
乘方与拆幂游戏
IBM Research · Ponder This · 2020 年 11 月
IBM Ponder This #271 · 2020 年 11 月
维护一个由大于 1 的自然数组成的多重列表,每步允许:把两个数 a、b 换成 a^b;或把一个可写为 a^b 的数拆成 a、b,其中 a,b>1。重复数可以分别存在。
例如以下过程用四步从 [64] 到达含 256 的列表,实际上两步也可以:
64
8,2
2,2,3
8,2
256
可以用乘方记号避免展开大数:
8^2
8,2
2,2,3
2^3,2
2^2^3
任务:给出一个至多二十步的过程,到达包含 2147483647 的列表。初始列表至多五个数,除一个数以外都不超过 50,剩下那个不超过 1,000,000,000。按示例逐行列出状态。
附加问题:说明如何仅从 [64] 出发到达包含 2147483647 的列表,不必给完整过程,也不受二十步限制。
解答
认真尝试后再打开待补充。