Tupper‘s Self-Referential Formula 塔珀自指公式
Tupper's Self-Referential Formula 塔珀自指公式
个人博客:coonaa.cn 【本文博客同步地址】
无意中记起来之前一次CTF中遇到一个很有趣的不等式——Tupper’s Self-Referential Formula(塔珀自指公式)。
塔珀自指公式是杰夫·塔珀(Jeff Tupper)发现的自指公式:此公式的二维图像与公式本身外观一样。
该公式是一种对存储在常量k 中的位图信息进行解码的通用方法 ,它实际上可以用来绘制任何其他图像。
该不等式的定义为:
其中 ⌊ ⌋ 表示楼层函数, mod 是模运算。
当给k赋值:
4858450636189713423582095962494202044581400587983244549483093085061934704708809928450644769865524364849997247024915119110411605739177407856919754326571855442057210445735883681829823754139634338225199452191651284348332905131193199953502413758765239264874613394906870130562295813219481113685339535565290850023875092856892694555974281546386510730049106723058933586052544096664351265349363643957125565695936815184334857605266940161251266951421550539554519153785457525756590740540157929001765967965480064427829131488548259914721248506352686630476300
作图,在 0 ≤ x < 106 和k ≤ y < k + 17 范围内的图像:
可以发现,图像即为不等式本身。
因此,根据k值不同,可以做出“任意”图像。
特意在Google上找到一个极为方便的网站:Tuppers-Formula-Tools
你可以在此网站上:
(1)手动构建图像,求得k值;
(2)根据已有k值画出对应图像。
例如:手动创建包含Coonaa的图像,得到对应的k值:
本文给出一个简易的Python作图脚本,对Tupper’s Self-Referential Formula作图加以验证。
from functools import reducedef Tuppers_Self_Referential_Formula():k = 4858450636189713423582095962494202044581400587983244549483093085061934704708809928450644769865524364849997247024915119110411605739177407856919754326571855442057210445735883681829823754139634338225199452191651284348332905131193199953502413758765239264874613394906870130562295813219481113685339535565290850023875092856892694555974281546386510730049106723058933586052544096664351265349363643957125565695936815184334857605266940161251266951421550539554519153785457525756590740540157929001765967965480064427829131488548259914721248506352686630476300# 这里替换为你自己的K值def f(x, y):d = ((-17 * x) - (y % 17))e = reduce(lambda x, y: x * y, [2 for x in range(-d)]) if d else 1g = ((y // 17) // e) % 2return 0.5 < gfor y in range(k + 16, k - 1, -1):line = ""for x in range(0, 107):if f(x, y):line += " ■"else:line += " "print(line)if __name__ == '__main__':Tuppers_Self_Referential_Formula()
运行脚本,可以在控制台得到图像:
将k值替换为我自己的k值
32835058729866203892723578897825242430219377821705829199254986348055145924203657208471357261453916522538180856257041969971033107196364985898555526183573928467412048664377344813507245749517758881064820245428861729497402713483970839540513768761175616657434877746262829753083000835830308459336673655071893898503426833241401747647397207543751172332926526049282312281851963766568880132700794901718647560288909884623269306796837625164622773354496
得到我自己的图像:
看到这里,你可以去大展身手搞你想搞的东西了!
数学的东西,摸不着头脑,这里简单做个记录。
网上有很多现成的针对Tupper’s Self-Referential Formula的脚本,大家可以直接到Github等平台查找即可。
附上Tupper’s Self-Referential Formula在维基百科上的介绍。
Tupper‘s Self-Referential Formula 塔珀自指公式相关推荐
- 比欧拉公式更美的公式!
既然提到了欧拉公式,就先感受一下他的令人着迷. 为什么说它是数学里最完美的一个公式,因为它将数学里最重要的几个数字联系到了一起: 两个超越数:自然对数的底e,圆周率π: 两个单位:虚数单位i和自然数的 ...
- [MISC]2022DASCTF Apr X FATE 防疫挑战赛
1.SimpleFlow; 2.熟悉的猫; 3.冰墩墩: 1.SimpleFlow: 下载得到SimpleFlow的压缩包,解压得到SimpleFlow.pcapng,流量分析题目.查找 flag. ...
- 2021安洵杯Misc writeup
忘了发了,来迟了 顺便发一下战队的全wp: https://wp.n03tack.top/posts/4906/ Misc 应该算是签到 来得早不如来的巧 CyzCC_loves_LOL 小脑洞+老考 ...
- C语言递归实现汉诺塔
汉诺塔 汉诺塔问题是指:一块板上有三根针 A.B.C.A 针上套有 64 个大小不等的圆盘,按照大的在下.小的在上的顺序排列,要把这 64 个圆盘从 A 针移动到 C 针上,每次只能移动一个圆盘,移动 ...
- nyoj 汉诺塔(一)
汉诺塔(一) 描述 在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针.印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片 ...
- 南阳88--汉诺塔(一)
汉诺塔(一) 时间限制: 1000 ms | 内存限制:65535 KB 难度: 3 描述 在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针.印度 ...
- 2021 第四届安洵杯 MISC wp
心态炸裂杯 CyzCC_loves_LOL 拿到两个附件,其中一个附件是这样的,没有见过,上网搜索 HAI D0g3 code I HAS A CODE ITZ "D0g3isthepAss ...
- 余弦相似度和欧氏距离_欧氏距离和余弦相似度
余弦相似度和欧氏距离 Photo by Markus Winkler on Unsplash Markus Winkler在Unsplash上拍摄的照片 This is a quick and str ...
- 工作中使用到的单词(软件开发)_2022-02-26_备份
■原文 工作中使用到的单词(软件开发)_sun0322-CSDN博客 目录 ■常用链接 ■2020/03/15 (最初整理 242个单词) 2020 6/28 整理 2020 6/29 整理 20 ...
- frame被废除_废除用户体验设计的假神
frame被废除 My first personal computer was an Osborne 1. It came with not only a CP/M operating system, ...
最新文章
- 【Linux】在VirtualBox-6.0中安装Manjaro18.0
- 正则表达式在js和java中的使用
- SAP登陆界面TITLE修改方法(Method of SAP Logon GUI Title Modification)
- android 自动补全方法,Android零基础入门|自动完成文本框AutoCompleteTextView
- P2280 [HNOI2003]激光炸弹
- 【tyvj1520】 树的直径
- Windows服务一直“正在启动”怎么杀
- 戴尔完成600亿美元与EMC并购交易 戴尔科技正式成立
- 大数据时代的图表可视化利器——highcharts,D3和百度的echarts
- 待看内容 20160823
- eclipse启动时return code 13
- RDD、DataFrame和DataSet的区别
- 云智能,助力警务大数据云平台建设
- 学习人工智能深度学习需要掌握的python语法糖
- 学JS必读,《JavaScript高级程序设计(第3版)》
- 淘宝图片服务器的学习
- QQ微信实时消息转发图片文件视频语音互联机器人自动发消息
- 计算机学院吴琴,06年浙江大学计算机与软件学院拒绝报道生名单
- VidMasta:搜索和观看在线电影、电视剧的神器
- 零基础能不能学计算机专业,零基础能学计算机专业吗?
热门文章
- 原生JavaScript贪吃蛇
- 安装打印机驱动时报错 -536870329 或 1FFFFDB9
- 计算机提示运行错误,每次电脑一开机就会提示脚本运行错误
- pdf如何转化成word文档呢?
- 数据聚合技术Aggregation
- 工作了17年,2021年双11是我见过有史以来“撸腾讯云羊毛”最狠的一次,血赚
- 电影视频剪辑怎么做?分享三个小技巧,剪辑其实也不难
- dwcs6 mysql站点_dreamweaver cs6中本地站点的管理方法讲解
- 十道解分式方程及答案_100道八年级解分式方程练习题(带答案)
- 英文论文评审意见_英文论文审稿意见汇总