1. 程式人生 > >Python實現Collatz序列(考拉茲猜想)

Python實現Collatz序列(考拉茲猜想)

return style gpo 輸入 str left tab col ()

考拉茲猜想(英語:Collatz conjecture),又稱為奇偶歸一猜想、3n+1猜想、冰雹猜想、角谷猜想、哈塞猜想、烏拉姆猜想或敘拉古猜想,是指對於每一個正整數,如果它是奇數,則對它乘3再加1,如果它是偶數,則對它除以2,如此循環,最終都能夠得到1。

技術分享圖片

1.編寫一個Collatz函數

def collatz(number):
    if number % 2 == 0:
        return number / 2
    else:
        return 3 * number + 1

2.讓用戶輸入一個整數並不斷調用這個collatz(),直到函數返回值為1

try:
    num = int(input(> ))
    while num != 1:
        num = collatz(number = num)
        print num
except:
    print Error!

技術分享圖片

Python實現Collatz序列(考拉茲猜想)