#Python 3.3
dic = {1:1}
def collatzSeqNum(n):
    if n in dic: return dic[n]
    if n%2==0: dic[n] = 1 + collatzSeqNum(int(n/2))
    else: dic[n] = 1 + collatzSeqNum(3*n+1)
    return dic[n]
res, maxSeq = 1, 1
for i in range(2, 1000000):
    t = collatzSeqNum(i)
    if t > maxSeq: res = i; maxSeq = t
print(res, maxSeq)
0 件のコメント:
コメントを投稿