数学冷知识:不断取英文表达的字符数,最后总会得到数字4

来源:互联网 发布:h5 掷骰子 源码 下载 编辑:程序博客网 时间:2024/05/01 10:41
这道题的答案有几个字母?答案:four。

     有趣的是,这是唯一的答案。如果令函数 f(n) 表示正整数 n 的英文表达中有多少个字母, n=4 是该函数的唯一不动点。

    n    0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, …

           f(n)  4, 3, 3, 5, 4, 4, 3, 5, 5, 4, 3, …

     事实上, @IanMathmogician 发现了一个更有趣的“数学冷知识”:任取一个 1 到 100 之间的正整数 n ,算出这个数的英文表达中的字符个数,再算出所得结果的英文表达的字符数,并这样一直迭代下去,最后总会得到数字 4 。我用 Mathematica 做了一张图片,可以让大家直观地看到,这真的可以说是条条大路通向数字 4 啊。

           

     那么,对于更大的数,如此迭代下去也都会变成 4 吗?恐怕没有人会置疑这一点吧。事实上,由于数字的英文描述所需字符数是对数级别增长的,因此从理论上说,对于更大的数,英文表达所用的字符数都应该比这个数字本身更小。于是,反复取字符数,所得结果必会越来越小;到了充分小的时候,就会根据上图的指示掉进数字黑洞 4 里。

     我另外画了一个从 1 到 1000 的所有数的转移示意图,非常壮观,贴在下面供大家观赏。

    

0 0