IBM Research

谜题   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 的幂。

解答

认真尝试后再打开

待补充。