谜题 IBM-226
伪代码筛选出的布尔序列数量
IBM Research · Ponder This · 2017 年 2 月
IBM Ponder This #226 · 2017 年 2 月
对六个比特组成的序列 v,以下伪代码恰好在十四种输入情况下返回非零值。对所有四十二位序列,有多少种会返回非零值?
s=2
r=0
for b in v:
if (s modulo 7) = b:
r = r+2*b-1
s = 6+s*(5+s*s*s*(2+s*(3+s))) + b*(5+s*(5+s*(6+s*s*(3+s*6))))
return r
附加问题:如果改问十四位序列,所得数量与 IBM 有什么联系?
官方提示:以前曾有一道类似的附加问,当时正确解答者的人数是两个质数之积。
解答
认真尝试后再打开待补充。