入力として整数を取得するにはどうすればよいですか。その出力は、その数値に続くコラッツシーケンスになります。このシーケンスは、次のルールによって計算されます。
- n が偶数の場合、次の数字は
n/2
- n が奇数の場合、次の数字は
3n + 1
です。
例: 11 で始まる場合
11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
これは私のコードです:
n = int(raw_input('insert a random number'))
while n > 1:
if n%2 == 0:
n_add = [n/2]
collatz = [] + n_add
else:
n_add2 = [3*n + 1]
collatz = [] + n_add2
print collatz
これを実行して数値を挿入しても、何も起こりません。