Python验证"3n+1猜想"

天上有多少颗星星

数学就有多少个未解之谜

其中一颗最神秘的星星

叫做“3n+1猜想”

一、认识"3n+1猜想"

现在已经无法确切考证3n+1猜想到底是谁先提出来的,但是有文献显示早在上个世纪30年代,德国数学家Lothar Collatz 就考虑过类似问题,所以3n+1猜想经常被称作考拉茨(Collatz)猜想由于3n+1猜想是由一个名叫角谷的日本人传到中国,所以在国内又称角谷猜想。当然了它还有许多其他的名字,但可能3n+1猜想是最合适的。

它是指对于一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1:

如果从1出发,运用逆向的变换法则,我们就会得到著名的考拉茨图(Collatz graph),下面是19步逆向变换内得到的考拉茨图:

二、用Python验证

根据3n+1猜想的数学逻辑,Python源代码的设计分为3个步骤,可以用判断实现。

当n为奇数,则n = 3 * n + 1;

当n为偶数,则n = n / 2;

当n为1时,结束并输出数列。

程序源代码:

arr=[]
n = int(input('请输入一个数字(正整数):'))
print('对于给定的这个数字,3n+1猜想的整个序列是:')
arr.append(int(n))
while n!=1:
    if n % 2 == 0:
        k = n / 2
        n = k
        arr.append(int(n))
    elif n == 1:
        arr.append(int(n))
        break
    else:
        g = 3 * n + 1
        n = g
        arr.append(int(n))
print(arr)
print('共经历了%d步运算回到1'%(len(arr)-1))

(1)输入12,运行结果为:

请输入一个数字(正整数):12
对于给定的这个数字,3n+1猜想的整个序列是:
[12, 6, 3, 10, 5, 16, 8, 4, 2, 1]
共经历了9步运算回到1

(2)输入19,运行结果为:

请输入一个数字(正整数):19
对于给定的这个数字,3n+1猜想的整个序列是:
[19, 58, 29, 88, 44, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1]
共经历了20步运算回到1

(3)输入27,运行结果为:

请输入一个数字(正整数):27
对于给定的这个数字,3n+1猜想的整个序列是:
[27, 82, 41, 124, 62, 31, 94, 47, 142, 71, 214, 107, 322, 161, 484, 242, 121, 364, 182, 91, 274, 137, 412, 206, 103, 310, 155, 466, 233, 700, 350, 175, 526, 263, 790, 395, 1186, 593, 1780, 890, 445, 1336, 668, 334, 167, 502, 251, 754, 377, 1132, 566, 283, 850, 425, 1276, 638, 319, 958, 479, 1438, 719, 2158, 1079, 3238, 1619, 4858, 2429, 7288, 3644, 1822, 911, 2734, 1367, 4102, 2051, 6154, 3077, 9232, 4616, 2308, 1154, 577, 1732, 866, 433, 1300, 650, 325, 976, 488, 244, 122, 61, 184, 92, 46, 23, 70, 35, 106, 53, 160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1]
共经历了111步运算回到1

可以看到,从27开始,情况变得复杂了,按照上面的法则,变换的整数值逐渐变大,最大值达到9232,不过最终还是变回1。

目前,人们对于小于10^18的数都已经验证了3n+1猜想。你还可以尝试下更多的数字~

展开阅读全文

页面更新:2024-05-27

标签:上个世纪   奇数   偶数   序列   源代码   法则   考拉   星星   数学   数字

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top