今天,我们故事的主角是一个不等式,称为塔珀自指公式,是2001年Jeff Tupple发现的。其中“·”叫做地板函数,表示不大于n的最大整数,比如mod(a, b)表示a除以b的余数。这种计算叫做模除,比如mod(8, 3) = 2。
如何利用塔珀自指公式进行画图呢?想象在直角坐标系里划出一系列小方格,小方格边长为1,如下图所示。左下小方格的坐标为(0, 0),其右边相邻的小方格的坐标为(1, 0),上边相邻的小方格坐标为(0, 1),其他小方格的坐标以此类推。x的取值范围是[0, 105],即有106列方格。画图需要17行方格,y取值范围是[N, N+17), N的具体值视具体要画的图而定。
将每个方格的坐标带入塔珀自指公式中,如果不等式成立,则将方格涂色;如果不等式不成立,则不涂色。我们发现居然可以将塔珀自指公式画出来,如下图所示。这里我们玩了一个小把戏,看上去图中坐标轴如此干净,实际上对应的N是个544位的数。
这个不等式居然也可以画出数学中最有名的欧拉恒等式,如下对应的N为2352035939949658122140829649197960929306974813625028263292934781954073595495544614140648457342461564887325223455620804204796011434955111022376601635853210476633318991990462192687999109308209472315419713652238185967518731354596984676698288025582563654632501009155760415054499960。
由此可见,想要用塔珀自指公式公式作图的话,需要先知道N。如何求N呢?步骤如下:选定一张像素为106×17的图片。考察每个像素,如果像素着色,标记上1,如果没有着色,标记上0。从左下角向上,将每个像素标记的1或0依次写下来,把标记的1和0依次排列起来,依次记下第一列1、0序列,然后记录第二列,也是从底部向上开始记录。
然后依同样方法,依次记录第三列、第四列、……,一直到第17列,最后得到一个1802位的二进制数。将此1802位的二进制数转换成10进制数,将所得之数乘以17,就是我们要求的N。