Project Euler Problem 14
def next_number(n): if n % 2 == 0: return n // 2 else: return n * 3 + 1 def collatz_len(n): if n in collatz_dic: return collatz_dic[n] elif n == 1: return 1 else: ret = 1 + collatz_len(next_number(n)) collatz_dic[n] = ret return ret collatz_dic = {} max_len = 0 for i in range(1, 1000000): len = collatz_len(i) if len > max_len: max_len = len max_num = i print(max_num)