pythonでCollatzシーケンスを実現する(コズト推測)

467 ワード


def collatz(num):
    if num % 2 == 0 :
        return num//2
    elif num % 2 == 1:
        return 3*num + 1
    else:
        print('error')
try:
    num = int(input())
    while num!=1:
        print(collatz(num))
        num = collatz(num)
except ValueError :
    print('valueError')


コラーズ推測(英語:Collatz conjecture)は、奇偶帰一推測、3 n+1推測、雹推測、角谷推測、ハセ推測、ウラム推測またはシラグ推測とも呼ばれ、正の整数ごとに奇数であれば3に1を加え、偶数であれば2で割って循環し、最終的には1を得ることができる.