geo_analysisの日記

エンジニアになりたい無職のProjectEuler

プロジェクトオイラー14

プロジェクトオイラーの問題14をPython3で解きました。

projecteuler.net

Collatz問題と呼ばれるもので、数学的には未解決な問題をとりあえず計算してみましょうってやつでした。

collatz_list = []
for number in range(1000000):
    collatz_number = 1
    while number > 1:
        if number % 2 == 0:
            number = int(number / 2)
        else:
            number = 3 * number + 1
        collatz_number += 1
    collatz_list.append(collatz_number)
max_chain = max(collatz_list)
print(collatz_list.index(max_chain))