你认为,一个函数图象里是否有可能包含这个函数本身的“图象”?难以置信的是,还真有人构造了这样一个东西。2001年,Jeff Tupper发表的一篇论文里提到了这样一个有趣的不等式:
在0 <= x <= 105,n <= y <= n + 16的范围内,这个不等式对应的图象是这个样子:
其中,n = 96093937991895888497167296212785275471500433966012930665150551927170280239526642
46896428421743507181212671537827706233559932372808741443078913259639413377234878
57735749823926629715517173716995165232890538221612403238855866184013235585136048
82869333790249145422928866708109618449609170518345406782773155170540538162738096
76025656250169814820834187831638491155902256100036523513703438744618483787372381
98224849863465033159410054974700593138339226497249461751545728366702369745461014
655997933798537483143786841806593422227898388722980000748404719
你会觉得这个很神奇吗?你也许会想,天哪,这个是怎么构造出来的啊!但仔细思考之后,你会发现这个一点都不神奇。事实上明白了道理之后你可以构造出无数个这样的式子来。现在给你一些时间让你思考一下,你能否看出其中的奥秘?
就像魔术揭秘一样,说穿了真相后上面的这些东西就一点意思都没有了。在这个式子里,涉及到x和y的变量时都加上了取整符号,因此整个图象都是一格一格的。这样,不等式右边的式子就简化为y div 17 * 2^(-17x – y mod 17) mod 2,其中x和y都为整数。接着观察,一个数乘以2的负k次方相当于对应的二进制数右移k位,那么x * 2^(-k) mod 2实质上就是二进制数x右起第k位上的数字。对于某个自然数t,当17t <= y < 17(t+1)时,指数-17x – y mod 17恰好对应所有的负整数,于是位于y=17t和y=17t+16之间的图象的每个像素和t的二进制中的每一位数字一一对应。随着t值的增加,图形的像素会一点一点地变化。当纵坐标足够大时,必然会出现一段高度为17的图象,图象的样子和不等式本身的样子相同。当然,你也可以在里面“找到”任何你想要的图象,只需要把图象还原为二进制数并转换为十进制即可。你甚至可以告诉你的MM,说你发现了一个函数,函数在某个位置的图象正好是某某某我爱你的字样。
Matrix67原创
转贴请注明出处
最近发现了一些很不厚道的人,希望大家注意哦!
"某某我爱你"有价值~
这文章有意思喔。
浮上来冒个泡
为什么Matrix牛是OIer中的情圣?
因为M牛善于讲各种知识和MM相结合….
情圣就这样横空出世了
嗯,有意思
看你好久找得到“zpr我爱你”的函数,努力哈!!
回复:中文系惊现美女
请问matrix牛是在哪看到这个的呢?
我还没看很明白,而且很想尝试下真的把那个我爱你函数找到…
– -#果然牛。。。。情圣咯
用“奎因”技术可能造出不需要n的……没有自由变量……
我至今还很怀念那道Matrix67的情书
很想尝试下真的把那个我爱你函数找到…
小M我看图象弄出来的是这个数,
636806841786658117855752481996040050387373337868139829589847976845237905615593134941882911275814009549618839162049674492039869987445461202622186039092426236501322687543493745944798659102590151979853342597664117142104690541355755104305468376188877440925645326897233281753061236830303828532964823605613802294329356170938639260840661030847972734408996516404780542991079059837989849051871791540748362146897830239841138456037548380815526061856725472320489934099432328509218952426677775098515781006213408128108226663679873982526365368280385713842239307776
好囧。后面的他不会换行的吗。。。
根据图象这个二进制数*17是一个偶数
建议M67做个小程序,能生成任意文字的对应函数和n值
最近在RR又火了一把啊= =
我勒个去,这个完全没法让计算机做出来吧,n这么大
为什么我用这个函数算出来它的图像稍有偏差,比如mod下面还有一个重复的mod图案,并且最主要的是我按这个算最终图像和日志里给出的图旋转了180度,就是说我算出来的图案和日志里的图对比是一个倒过来的,我算出来的图左下角和日志里的图的右上角是对应的,我觉得Jeff Tupper在给参数n的时候犯了一个小错误,我验算了半天图还是倒过来的
https://www.quora.com/How-did-Jeff-Tupper-come-up-with-his-%E2%80%9Cself-referential%E2%80%9D-formula
求教,到底怎么算n。。。
敢问大神,塔珀到底用什么软件做到的,mathematica和grafeq均爆掉了。。
GrafEq是Tupper发明的啊!
搞个hello world.
“那么x * 2^(-k) mod 2实质上就是二进制数x右起第k位上的数字”这里应该是第k+1位数字吧?
您好,照您说的方法进行验证,结果总是不对,看了《思考的乐趣》后才知道是这个数有误,希望能修改一下这篇博文,让其他人少走弯路…
看来可以穷举出任意图案
讚哦!
考古成功!
考古ww
哇塞,居然是沙发?留个名
厉害
考古