#問題概要
10000以下の偶数のうち、以下の操作を繰り返して自分自身に戻る数を見つける。
- 初回は3を掛けて1を足す
- 2回目以降は
- 偶数の場合、nを2で割る
- 奇数の場合、nに3を掛けて1を足す
Code
loopnums = []
for num in list(range(2, 10000, 2)):
n = num * 3 + 1
while True:
if n % 2 == 0:
n = n / 2
else:
n = n * 3 + 1
if n == 1:
break
elif n == num:
loopnums.append(num)
break
print(loopnums)
print(len(loopnums))