Python验证和可视化之三大猜想[冰雹猜想、角谷猜想、考拉兹猜想]
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理
本篇文章来自腾讯云 作者:Python小屋屋主
( 想要学习Python?Python学习交流群:1039649593,满足你的需求,资料都已经上传群文件流,可以自行下载!还有海量最新2020python学习资料。 )
问题描述:
冰雹猜想、角谷猜想、考拉兹猜想说的是同一个问题:给定任意正整数,如果是偶数就除以2,如果是奇数就乘以3再加1,最终总能得到1。
20世纪30年代,德国汉堡大学的学生考拉兹研究过这个问题。1952年一位英国数学家独立发现了它,几年之后又被一位美国数学家所发现。在日本,这个问题最早是由角谷静夫介绍到日本的,所以日本人称它为“角谷猜想”。人们在运算过程中发现,算出来的数字忽大忽小,有的计算过程很长。比如从27算到1,需要112步。有人把演算过程形容为云中的小水滴,在高空气流的作用下,忽高忽低,遇冷结冰,体积越来越大,最后变成冰雹落了下来,而演算的数字最后也像冰雹一样掉了下来,变成了1。因此人们又给这个猜想起了个形象的名字——冰雹猜想。
这个问题的证明方法可以自行查阅资料,本文使用代码生成一些随机数来验证一下。
参考代码:
执行结果:
把上面代码稍微修改一下,绘制水平柱状图,观察几个数字变为1时需要的计算次数:
运行结果(横坐标表示正整数,纵坐标表示正整数变为1所需要的计算次数):
把上面的代码再稍微修改一下,使用折线图可视化,观察几个数字变为1的过程:
运行结果(横坐标表示第几次计算,纵坐标表示每次计算得到的中间结果,最后都变为1):
以上是 Python验证和可视化之三大猜想[冰雹猜想、角谷猜想、考拉兹猜想] 的全部内容, 来源链接: utcz.com/z/537994.html