IBM Research

谜题   IBM-155

两小时内定位故障存储位

IBM Research · Ponder This · 2011 年 3 月

IBM Ponder This #155 · 2011 年 3 月

飞船有 100,000 个存储位,已知恰好一个故障。检测程序可以检查任意子集,若其中全好则返回 OK,若遇到故障位就永久失效。一次检查无论子集大小都耗时一小时,任意多个程序可同时运行,也可同时访问同一存储位。必须在两小时内确定故障位。

A. 最少需要预先携带多少个检测程序?附加问:推广为 n 个存储位、t 小时,给出所需程序数公式。

B. 如果还要求第一次任务后剩余未失效的程序,足以把同样的定位任务再完整执行一次,预先要携带多少个?

另一附加问:在 A 中,把存储位数增加最多 X 个仍不需要增加程序数。求 X,并说明它与当时 IBM 历史上的一件近期事件有什么联系。

解答

认真尝试后再打开

待补充。