IBM Research

谜题   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 有什么联系?

官方提示:以前曾有一道类似的附加问,当时正确解答者的人数是两个质数之积。

解答

认真尝试后再打开

待补充。