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

    这道题的答案有几个字母?答案: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 发现了一个更有趣的“数学冷知识”:任取一个 0 到 100 之间的整数 n ,算出这个数的英文表达中的字符个数,再算出所得结果的英文表达的字符数,并这样一直迭代下去,最后总会得到数字 4 。我用 Mathematica 做了一张图片,可以让大家直观地看到,这真的可以说是条条大路通向数字 4 啊。


      

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

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

      

查看更多:http://www.reddit.com/r/math/comments/jarub/interesting_mathematical_curiosity/

27 条评论

回复给 放艾一条生路 取消回复

2  ×    =  10