科拉茨猜想看起来像小孩子的游戏:选一个数字,应用两条简单规则,最终会到达1。但数学家们几十年来一直卡在这里。没有人能证明它对所有数字都成立。这是一个因其简单性而具有欺骗性的问题,曾难倒地球上最聪明的头脑。🧠
如何用Python编写科拉茨模拟程序 💻
实现这个算法很简单。一个while循环判断数字是偶数还是奇数。如果是偶数,就除以2;如果是奇数,就应用3n+1。对于小数值,代码在毫秒内就能执行完毕,但测试大数时,计算时间会急剧增加。序列可能会延伸数百步,最终坍缩到1。这是学习任何编程语言中流程控制和循环的好练习。
这个算法会让你觉得自己很聪明(或很愚蠢)🤯
编写科拉茨程序会给你一种虚假的掌控感。你五分钟就能写完,运行一下,一切正常。然后你开始想:要不我自己来证明这个猜想?你花了一下午涂涂画画数字。接着你想起那些头发花白、拥有巨大白板的数学家们已经花了90年都没成功。最好还是关掉编辑器,去喝杯咖啡吧。