Python算法之角谷猜想

Python算法之角谷猜想

问题:任意给定一个自然数,如果它为偶数则除以2;为奇数则乘以3后再加1,这样得到一个新的自然数。按照这样的计算方式一直计算下去,最终得到的结果为1。这就是日本数学家角谷静夫提出的一个数学问题。

代码:

def Collatz():
    number=int(input('请输入一个正整数:'))
    while number!=1:
        if number%2==0:
            k = number / 2
            print('%d/2=%d' % (number, k))
            number = k
        else:
            r=number*3+1
            print('%d*3+1=%d'%(number,r))
            number=r
if __name__ == '__main__':
    Collatz()

运行结果:

请输入一个正整数:5
5*3+1=16
16/2=8
8/2=4
4/2=2
2/2=1
发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章