百乐的自指配方(从维基百科复制)
Tupper的自指代公式是Jeff Tupper定义的公式,当在平面中非常特定的位置以二维方式绘制图形时,可以对其进行“编程”以直观地再现公式本身。它在各种数学和计算机科学课程中用作绘图公式的练习。
楼层功能在哪里 。
我们k
是以下543位数字:
960939379918958884971672962127852754715004339660129306651505519271702802395266424689642842174350718121267153782770623355993237280874144307891325963941337723487857735749823926629715517173716995165232890538221612403238855866184013235585136048828693337902491454229288667081096184496091705183454067827731551705405381627380967602565625016981482083418783163849115590225610003652351370343874461848378737238198224849863465033159410054974700593138339226497249461751545728366702369745461014655997933798537483143786841806593422227898388722980000748404719
如果一个图的点的集合(x, y)
中0 <= x < 106
,并k <= y < k + 17
满足上面给出的不平等,结果图如下所示(请注意,在该地块的轴已经发生了逆转,否则画面出来倒):
所以呢?
关于此公式的有趣之处在于,它可以用于绘制任何可能的黑白106x17图像。现在,从头到尾的搜索实际上非常繁琐,因此有一种方法可以计算出图像出现的k值。这个过程非常简单:
- 从图像第一列的底部像素开始。
- 如果像素为白色,则k值将附加一个0。如果是黑色,请附加1。
- 向上移动列,重复步骤2。
- 一旦到达该列的末尾,请按照相同的过程移至下一列并从底部开始。
- 分析完每个像素后,将此二进制字符串转换为十进制,然后乘以17得到k值。
我的工作是什么?
您的工作是创建一个可以拍摄任何106x17图像并输出其相应k值的程序。您可以进行以下假设:
- 所有图片均为106x17
- 所有图像将仅包含黑色(#000000)或白色(#FFFFFF)像素,中间没有任何像素。
也有一些规则:
- 输出只是k值。它必须具有适当的基数,但可以是任何格式。
- 必须从PNG或PPM读取图像。
- 没有标准漏洞。
测试影像
[ ]应该产生〜1.4946x10 542
[ ]应该产生〜7.2355x10 159
[ ]应产生2 1801 * 17
[ ]应该产生(2 1802 -1)* 17
这是code-golf,因此最少的字节数获胜。
有用的网址
quine
某个地方看到这个词。