角谷猜想(python实现)

一、问题描述

编写一个名为collatz()的函数,设置一个整型参数num。如果参数是偶数,那么collatz()就输出并返回num// 2;如果num是奇数,collatz()就输出并返回3 * number + 1。然后编写程序,让用户输入一个正整数,并不断对这个数调用collatz(),直到函数返回值1

二、角谷猜想简介

角谷猜想由日本数学家角谷静夫发现。据日本和美国的数学家攻关研究,在小于7*10^11的所有的正整数,都符合这个规律。角谷猜想又称为奇偶归一猜想( 英语:Collatz conjecture),3n+1猜想、 冰雹猜想、 角谷猜想、 哈塞猜想、 乌拉姆猜想或 叙拉古猜想,是指对于每一个正整数,如果它是 奇数,则对它乘3再加1,如果它是 偶数,则对它除以2,如此循环,最终都能够得到1。

三、python编程实现

collatz()函数:

def collatz(num):
    if num % 2 == 0:
        print(num//2,end='  ')
        return num//2
    else:
        print(3 * num + 1,end='  ')
        return 3*num+1


main()函数:

import collatz
def main():
    num=int(input('请输入一个正整数:'))
    n=num
    i=0
    print('角谷猜想的序列是:')
    while n!=1:
        i=i+1
        n=collatz.collatz(n)
        if(i%10==0):
            print()
if __name__=='__main__':
    main()

四、运行结果

角谷猜想(python实现)_第1张图片

 角谷猜想(python实现)_第2张图片

 好了,就分享这么多吧!

你可能感兴趣的:(数学知识,python)