蛋疼研究之单词等式
ACT + DEAL = DONE
COIN + TRY = DIAL
除了意义上说得通以外,从另外一个角度来看,这两个等式也是成立的。大家能猜到是什么吗?
答案是:这两个等式真的就是成立的――如果把单词看作 36 进制数的话。把 ACT 转换成 10 进制就是 13421 ,把 DEAL 转换成 10 进制就是 625053 ,而 DONE 的 10 进制正好就是 638474 。类似地, COIN 加 TRY 也真的等于 DIAL ,对应的 10 进制算式为 591647 + 38590 = 630237 。
其实,蛋疼的数学家们已经干过类似的事情了。数学家们对质数的热爱如此疯狂,以至于他们甚至搞出了一份质数单词表。最近我偶然看到 N 年前自己的一篇罗列质数单词的日志,立即想到了这个更蛋疼的主意――单词等式。于是写程序小小地搜索了一下,很快便出现了上面两个式子。
我把 ACT + DEAL = DONE 加上引号拿到 Google 里去搜,没有结果。哈哈,似乎我是第一个蛋疼到想要研究这种 36 进制单词等式的人。于是我用 Mathematica 写了一个程序,在所有字母个数为 3 到 5 的常用单词中寻找等式:
minWordNetID[word_] :=
If[Head[WordData[word, "WordNetID"]] === WordData, \[Infinity],
Min[FromDigits[#, 10] & /@
WordData[word, "WordNetID"][[All, 2]]]];
v = DictionaryLookup[RegularExpression["[a-z]{3,5}"]];
v = Select[v, minWordNetID[#] < 10000000 &];
n = Sort[FromDigits[#, 36] & /@ v];
partiton[word_] := {BaseForm[#, 36],
BaseForm[FromDigits[word, 36] - #, 36]} & /@
Intersection[FromDigits[word, 36] - n, n];
result = {#, partiton[#]} & /@ v;
result = Select[result, Length[#[[2]]] > 0 &];
TableForm[result]
人工筛选有意义的等式并不是一件容易的事。我找到了下面三个很漂亮的单词等式:
MAP + LOOP = MAZE
DYE + BLADE = BLOBS
MAN + ROAR = SALE
另外还有一些不那么好的单词等式,我也写出来吧:
BUG + BUG = NOW
SHOWN + BLUR = STARE
ACT + HEAR = HONK
我也尝试过搜索字母更多的单词等式,以及包含乘法的单词等式,但结果数量极少,很难出现意义正好也相符的式子。我有没有错过什么更为绝妙的单词等式呢?欢迎蛋疼的网友们也来找一找。
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:Matrix67 来源: Matrix67: My Blog
- 标签: 单词等式
- 发布时间:2011-04-27 23:57:45
- [52] IOS安全–浅谈关于IOS加固的几种方法
- [52] 图书馆的世界纪录
- [51] 如何拿下简短的域名
- [50] android 开发入门
- [49] Go Reflect 性能
- [49] Oracle MTS模式下 进程地址与会话信
- [47] 【社会化设计】自我(self)部分――欢迎区
- [45] 读书笔记-壹百度:百度十年千倍的29条法则
- [37] 程序员技术练级攻略
- [29] 视觉调整-设计师 vs. 逻辑