我曾经在这里介绍过一种叫做 autogram 的文字游戏,简单说就是“与自身相符的句子”,或者更简单地叫做“自我描述句”。例如,“这句话是用中文写的”、“这句话有七个字”等等。蛋疼的人还真不少,有人创作出了一些异常牛 B 的 autogram ,比如:
This autogram contains five a’s, one b, two c’s, two d’s, thirty-one e’s, five f’s, five g’s, eight h’s, twelve i’s, one j, one k, two l’s, two m’s, eighteen n’s, sixteen o’s, one p, one q, six r’s, twenty-seven s’s, twenty-one t’s, three u’s, seven v’s, eight w’s, three x’s, four y’s, and one z.
1982 年, Scientific American 月刊上刊登了一个 autogram 杰作:
Only the fool would take trouble to verify that his sentence was composed of ten a’s, three b’s, four c’s, four d’s, forty-six e’s, sixteen f’s, four g’s, thirteen h’s, fifteen i’s, two k’s, nine l’s, four m’s, twenty-five n’s, twenty-four o’s, five p’s, sixteen r’s, forty-one s’s, thirty-seven t’s, ten u’s, eight v’s, eight w’s, four x’s, eleven y’s, twenty-seven commas, twenty-three apostrophes, seven hyphens and, last but not least, a single !
大家或许已经猜到我昨天干了什么蛋疼的事了——鉴于我最近对汉语文字游戏特别感兴趣,我理所当然地又开始思考创作中文 autogram 的事情了。好在中文的数字并不复杂,用 Mathematica 跑了不久,我便搜索到了一个解:
这句话里有五个“一”、十个“两”、两个 “三”、一个“四”、两个“五”、一个“六”、一个“七”、两个“八”、一个“九”、三个“十”、两个“这”、两个“句”、两个“话”、两个“里”、两个 “有”、两个“和”和十八个“个”。
不过,后来我才知道,寻找中文的自我描述句似乎早有人做过了。网友 txyyss 告诉我说,他也曾利用迭代算法寻找过中文 autogram ,并找到了下面这个更漂亮的结果:
这句由电脑生成的话一共有一百二十三个字,其中有两个“这”字,两个“句”字,两个“由”字,两个“电”字,两个“脑”字,两个“生”字,两个“成”字,两个“的”字,两个“话”字,两个“共”字,三个“有”字,二十六个“个”字,二十六个“字”字,两个“其”字,两个“中”字,十五个“两”字,三个“一”字,四个“二”字,五个“三”字,两个“四”字,五个“五”字,三个“六”字,五个“十”字,两个“百”字。
关于中文的自我描述句,还能得到哪些比较有趣的结果?欢迎网友们继续扩充。
Update: 网友 zee 写道:
你看到的这个句子一共有九十个字。其中有:二个“你”,二个“看”,二个“到”,二个“的”,二个“这”,二十六个“个”,二个“句”,二个“子”,二个 “共”,三个“有”,二个“字”,二个“其”,二个“中”,四个“一”,十七个“二”,二个“三”,四个“四”,一个“五”,二个“六”,二个“七”,一个“八”,二个“九”,四个“十”。
网友 Voldemort 给出了目前为止最为强大的句子(只可惜我验证了一下,发现是错的……不好意思啊)
沙发?
我发现我经常每天来看 然后你好多天不更新 哪天一不看了 下次就发现你一次更新了好多
前排。。。。。
Mathematica真强大
我想租服务器搭博客~~ 大牛还招人合租不?…..
前排吧
要是可以做到这样就无敌了——这句话有几笔横,几笔竖……
看到这个真是亲切啊。
你看到的这个句子一共有九十个字。其中有:二个“你”,二个“看”,二个“到”,二个“的”,二个“这”,二十六个“个”,二个“句”,二个“子”,二个“共”,三个“有”,二个“字”,二个“其”,二个“中”,四个“一”,十七个“二”,二个“三”,四个“四”,一个“五”,二个“六”,二个“七”,一个“八”,二个“九”,四个“十”。
我04年写的。程序似乎还在硬盘的某个角落。http://blog.joycode.com/zee/archive/2004/08/04/29469.joy
是不是应该把引号标点算上……
能有幸拜读一下您求解这个问题的代码吗?
刚好五个字
所有本来单个的字(设为A),都可以说“两个‘A’”
autogram长度竞赛
这么着也好玩:这句话有X个横X个竖X个撇X个捺。小小增大难度之~
Mathematica太强大了
这个对不对?
P = “This sentence implies itself” 为真。
证. 反设 P 为假, 则 P = P → P = False → False = True, 矛盾。
这句话里有x个“一”、x个“两”、x个 “三”、x个“四”、x个“五”、x个“六”、x个“七”、x个“八”、x个“九”、x个“十”、x个“这”、x个“句”、x个“话”、x个“里”、x个 “有”、x个“和”和x个“个”。
哦对了,还有一个“哦”,一个“对”,一个“了”,一个“还”。
我勒个去~,没想到这段话里竟然正好有五个“一”,二十个“两”,六个“三”,三个“四”,五个“五”,两个“六”,一个“七”,一个“八”,一个“九”,五个“十”,
两个“个”,两个“我”,两个“勒”,两个“去”,两个“没”,两个“想”,两个“到”,两个“这”,两个“段”,两个“话”,两个“里”,两个“竟”,两个“然”,两个“正”,两个“好”,两个“有”,两个“~”,
三十五个“,”,三十四个““”,三十四个“””和三个“。”。
哦,忘了,还包括两个“哦,忘了,还包括”,
一个“作者真蛋疼”。
———————————–
每一行分别是一个独立的冷笑话。
…….
我勒个去~,这段话里竟然正好有一百四十七个字,七百三十四笔,
五个“一”一个“二”十八个“两”,八个“三”,七个“四”,两个“五”,三个“六”,四个“七”,四个“八”,一个“九”,八个“十”,两个“百”,三十六个“个”,
两个“我”,两个“勒”,两个“去”,两个“这”,两个“段”,两个“话”,两个“里”,两个“有”,两个“和”,两个“字”,两个“笔”,两个“竟然”,两个“正好”,
两个“~”,三十六个“,”,三十四个““”,三十四个“””和三个“。”。
哦,忘了,还包括两个“哦,忘了,还包括”,
一个“作者真蛋疼”。
————————–
* 修改了几个错误,比如‘两个“个”’。这玩意儿真的是牵一发动全身。
我勒个去~,这段话里竟然正好有一百四十六个字,七百三十笔,
五个“一”,一个“二”,十八个“两”,八个“三”,五个“四”,四个“五”,三个“六”,两个“七”,五个“八”,一个“九”,八个“十”,两个“百”,三十六个“个”,
两个“我”,两个“勒”,两个“去”,两个“这”,两个“段”,两个“话”,两个“里”,两个“有”,两个“和”,两个“字”,两个“笔”,两个“竟然”,两个“正好”,
两个“~”,三十八个“,”,三十四个““”,三十四个“””和三个“。”。
哦,忘了,还包括两个“哦,忘了,还包括”,
一个“作者真蛋疼”。
———————
* M兄饶命,我真的不是在刷屏,不过这种句子就算用程序也太容易犯错了。又找到错误。
作为geek,正确性比幽默感重要。
不对,应该说幽默感来自正确性。
博主是球迷么?怎么一开打,就不更新了?
这是我写的自我描述诗
诗从上一句开始
这首诗一共有N句
这是这首诗的第四句
这是这首诗的第五句
.
.
.
这是最后一句(第N句)
“啊啊啊啊啊啊 啊啊啊 啊啊 啊!您看到的咆哮一共有12个‘啊’字。”
怎么用Mathematica做autogram啊?
呵呵 挺复杂的!
我也是04年看到 @zee 发的文章,自己也写了个类似的程序,可以任意给定初始语句,生成符合条件的完整句子。后来还搞过简易版的只考虑阿拉伯数字的,但原理完全一样。回头有时间整理一下发出来。
这是要挖坟的节奏。没想到三年前我还在这里留了言。没想到十年前写的程序,现在才总算整理了一下 http://www.gocalf.com/blog/self-descriptive-sentence.html
P = “This sentence implies itself” 为真。
证. 反设 P 为假, 则 P = P → P = False → False = True, 矛盾。
…Âü¹È·¿µØ²úµÄ×îÐÂÏà¹ØÐÅÏ¢2ÌìÇ°ÔÚÌ©¹ú¹ºÂò·¿²ú¹²ÐèÒª½»ÄÄЩ˰·ÑÖйúÐÐÒµÑо¿ÍøÒòΪÔÚÌ©¹ú²¢Ã»ÓС°·¿²úË°¡±µÈ³ÖÓз¿²ú¼äÐèÒª½ÉÄɵķÑÓÃ,ËùÒÔ¹ºÂòÌ©¹úµÄ·¿²ú,
M67 大神可考虑添加一个 worldpress 导航插件,方便 follower 的浏览
这句话有两个“这”、两个“句”、两个“话”、两个“有”、七个“两”、九个“个”、两个“七”、两个“九”。
这句话有两个“这”、两个“句”、两个“话”、两个“有”、八个“两”、十个“个”、两个“八”、两个“十”和两个“和”。