谜题 IBM-151
纪念曼德尔布罗的递归函数
IBM Research · Ponder This · 2010 年 11 月
IBM Ponder This #151 · 2010 年 11 月
本题纪念 IBM Fellow Benoît Mandelbrot,他于 2010 年 10 月 14 日去世,享年 85 岁。定义五元函数如下:
if (i-m)*(j-m) == 0:
f(i,j,k,l,m) = (abs(j-(1-k+l)*m)-m+1) * (abs(i-(k+l)*m)-m+1)
else:
f(i,j,k,l,m) = f(
i mod m,
j mod m,
int(((i^j)&((m*l)^i))/m)^l^k^int(i/m),
int(((i^j)&((m*k)^i))/m)^l,
m/2
)
这里 ^ 表示按位异或,& 表示按位与,abs 表示绝对值,mod 表示取模,int 表示向下取整。
应该给 f 什么输入,并怎样解释输出,才能使它与 Mandelbrot 教授联系起来?
官方提示:不是求他的年龄;m 是 2 的幂。
解答
认真尝试后再打开待补充。