“任何数字最终都会变成1”是真的吗?——玩转考拉兹猜想
大家好!我是kenji。
突然问一下,如果你听说“任何数字最终都会变成1的规则”, 会不会觉得有些不可思议?
比如19,或者87,甚至1000000也是如此。 按照特定的规则去处理数字,不知为何最后都会收敛到“1”。
像梦一样的故事,这就是 考拉兹猜想(Collatz Conjecture)。
考拉兹猜想究竟是什么?
首先介绍一下规则。
起点:选择任意一个 正整数
操作:
- 如果是偶数 → 减半(n → n / 2)
- 如果是奇数 → 乘以3再加1(n → 3n + 1)
一直重复这个过程,猜想认为 任何数字最终都会到达1。
比如,从 6 开始:
| |
确实变成了“1”。欢迎回来!
用代码试试看:用Python写考拉兹猜想
好了,这种时候写代码测试最快! 让我们用Python输出一下“考拉兹数列”。
| |
运行结果:
| |
完美到达了1。 虽然绕了不少远路,但最后还是顺利冲过终点!
顺便说一下,即使从 27 开始,也同样会到达1。
| |
运行结果:
| |
竟然花了111步!
而且,中途还有膨胀到9000以上的阶段。 这真是绕了天大的远路才到达终点的模式啊。
那么,到底哪里厉害呢?
这个猜想的厉害之处在于,
虽然还没有被证明,但似乎不管用什么数字来算都会变成1
这一点。
诶?那1兆呢,1京呢……?
能想到这点的你很敏锐。 实际上,用计算机已经验证到了“2的68次方”左右, 全部都到达了1。难以置信……。
但是,“全部都会这样”并没有在理论上被证明。 这就是数学世界里的“未解决问题”。
考拉兹是谁?
读到这里,你肯定会想“考拉兹到底是谁?”吧。 下面就好好介绍一下!
- 姓名:洛塔尔·考拉兹(Lothar Collatz)
- 国籍:德国
- 生卒年:1910年〜1990年
- 头衔:数学家(活跃于泛函分析和数论领域)
他在1937年提出了这个猜想, 此后,在长达80多年的时间里,谁也没能证明,也没能推翻。
顺便一提,这个问题虽然如此简单,却又无比深奥, 以至于连保罗·埃尔德什(超著名的数学家)都这样说过:
“数学还没有成熟到足以解决考拉兹猜想。”
也就是说,人类的数学水平可能还没赶上这个谜团……。
不需要“复杂的公式”
考拉兹猜想的美妙之处在于,任何人都能玩。
只要有纸和笔就能算。 用Python写几行代码,就能自动测试。 不仅如此,最顶尖的数学家们也在认真挑战它。
怎么样,是不是让人热血沸腾?
彩蛋:一次性测试的代码
这里也附上可以一次性测试多个数字的代码。
| |
这能一口气输出“1~20”的考拉兹数列。
结论:这个世界,果然很不可思议
这就是考拉兹猜想。
- 明明极其简单
- 却没人能证明
- 在数学界是个大难题
它就像是一个不可思议的集合体。
即使是编程初学者也能尝试,请务必玩玩看哦〜!
推荐链接(面向感兴趣的人)
- 维基百科:考拉兹猜想
- 陶哲轩论文(英文)
- 用Python做一个可视化版本也会很有趣哦!(如果有需求我会做的)
如果想了解更多这种“不可思议的数学×编程”题材, 请随时向我提出“想了解更多”的请求。 之后,我还会介绍黎曼猜想、素数的故事等各种内容!
📮结束!
