下面的内容主要来源于 Matrix67 博客内一篇文章。
文章内有这么一句话:
不断取数字英文表达的字符数,最后总会得到数字 444。
以 111111 为一个栗子,他的英文表达是 eleven。
eleven 有 666 个 字符,666 的英文表达是 six,six有 333 三个字符,333 的英文表达是 three…
我们可以画出 111111 变成 444 的全过程:
111111(eleven)→6\to6→6(six)→3\to3→3(three)→5\to5→5(five)→4\to4→4(four)
你会发现,无论是什么数字,它最终都会变成 444。
人类的古老智慧
如果要证明,你会怎么证明?
其实稍加思索,你会发现其实挺好解释的。
古时候的人们,用一竖代表 111,用两竖代表 222,用三竖代表 333…但他们意识到,写 100010001000 的时候,总不可能写一千个竖吧,于是人们就想到了用特殊符号代表一个数,例如古罗马人就用 V 代表 555,中国人用百代表 100100100。
所以说,将数字写成英文的过程中,字符数一定比原数字要小(对于大部分数字来说,这是对的)。如果你花点时间尝试一下,对于 101010 以内的数字,最后也会变成 444。实际上,444 是唯一一个字符数与数字本身相等的数字。
从英文到其他语言
当然,这种聪明的计数方法并不是英文的权利。世界各国的语言,恐怕没有哪个语言在表示 100001000010000 的时候要写一万个竖吧。
在知名数列网站 oeis.org 数列号 A005589 中的 COMMENTS 一段可以看到这么一句话:
戴安娜·卡洛夫(Diane Karloff)对上面的观察结果的解释:
在许多语言中,都有一个数字 N,在 N 以后所有数字都用比数字本身少的字母书写。N在英语,德语和保加利亚语中为 4,在俄语中为 11。
如果在间隔 [1,N] 中存在等于其字母数的数字,则它们是吸引子。
在英语和德语中,唯一的吸引子是 4,在保加利亚语中是 3,在俄语中是 2、3 和 11。
在区间 [1,N] 中,也可能存在数字循环,例如保加利亚语中的 4(6 个字母)和 6(4 个字母)或俄语的 4、5 和 6(分别为 6、4 和 5 个字母)。英文没有循环,因此上述观察是正确的。
另外,我研究了一下中文(计算其笔画),发现有三个吸引子:一、二和三。以及一个循环:四和五。
数字之和?数字之积?
这让我联想起大概是小学时,曾经试过将数字的每一位求和或求积。
数字之和
不断取数字每一位的和,最后总会小于 101010。
每一位的和,还有一个好听的名字:数字根。
还记得小学学习整除的时候,是怎么判断一个数是否能被三整除的吗?
如果一个数字的每一位的和能被三整除,整个数字就能被三整除。
这个判断法则,我们曾经用过无数遍,加起来是因为数字变小了,数字也更好判断能否被三整除了。可是为什么数字会变小呢?
证明很简单,任何一个数字 nnn 都能写成 (⋯+100a2+10a1+a0)(\dots+100a_2+10a_1+a_0)(⋯+100a2+10a1+a0) 的形式,其中 a0,a1,a2…a_0,a_1,a_2\dotsa0,a1,a2…是 nnn 从右往左的每一位数字。那么每位数字之和为 (⋯+a2+a1+a0)(\dots+a_2+a_1+a_0)(⋯+a2+a1+a0),我们将每一个对应项进行比较:
a0=a0a_0=a_0a0=a0。
a1≤10a1a_1\le10a_1a1≤10a1,并且只有当 a1=0a_1=0a1=0 时 a1=10a1a_1=10a_1a1=10a1。
a2≤100a2a_2\le100a_2a2≤100a2,并且只有当 a2=0a_2=0a2=0 时 a2=100a2a_2=100a_2a2=100a2。
后面的项以此类推。
所以说,数字 nnn 一定大于等于它的每一位数字之和,并且只有当 a1=a2=⋯=0a_1=a_2=\dots=0a1=a2=⋯=0 时相等,此时 n<10n<10n<10。
番外:为什么「如果一个数字的数字根能被三整除,整个数字就能被三整除」
拿上面的 nnn 继续讲,如果你用 nnn 减去它的数字根,你会得到⋯+99a2+9a1\dots+99a_2+9a_1⋯+99a2+9a1,而这个大块头一定能被 333 整除,因为它每一项系数全都是九构成的。那么因为 nnn 等于大块头加上它的数字根,如果数字根能被三整除,那 nnn 就能被整除了。
了解更多:A031286 和 A10888。
数字之积
不断取数字每一位的积,最后总会小于 101010。
举个栗子, 728→7×2×8112→1×1×22728\xrightarrow{7\times2\times8}112\xrightarrow{1\times1\times2}27287×2×81121×1×22。
假设一个数字 nnn 有 mmm 位,它同样可以写成 10m−1am−1+10m−2am−2+⋯+102a2+10a1+a010^{m-1}a_{m-1}+10^{m-2}a_{m-2}+\dots+10^2a_2+10a_1+a_010m−1am−1+10m−2am−2+⋯+102a2+10a1+a0 的形式。此时每位数字之积为 am−1×am−2×⋯×a2×a1×a0a_{m-1}\times a_{m-2}\times\dots\times a_2\times a_1\times a_0am−1×am−2×⋯×a2×a1×a0。
注意到数字表达式的第一项 10m−1am−1=am−1×10×⋯×10⎵(m−1)个1010^{m-1}a_{m-1}=a_{m-1}\times\underbrace{10\times\dots\times10}_{(m-1)个10}10m−1am−1=am−1×(m−1)个1010×⋯×10,将其与每位数字之积对应项进行比较:
am−1=am−1a_{m-1}=a_{m-1}am−1=am−1。
am−2<10a_{m-2}<10am−2<10,因为 am−2a_{m-2}am−2 只是一位数字(即 0≤am−2≤90\le a_{m-2}\le90≤am−2≤9)。
后面的项以此类推。
所以,我们可以知道数字 nnn 一定大于等于它的每一位数字之积,并且只有当 nnn 只有一位数字时相等。
了解更多:A031346 和 A031347。