Lisp / Scheme とかとか@wiki
3n + 1 問題
最終更新:
shigezo
-
view
■3n + 1 問題
The 3n + 1 problem
訳)
1. nを入力
2. nを出力
3. もし、n = 1 なら停止。奇数なら n = 3n + 1。 偶数なら n = n / 2
4. 2へ
1. nを入力
2. nを出力
3. もし、n = 1 なら停止。奇数なら n = 3n + 1。 偶数なら n = n / 2
4. 2へ
例)22 を入力 → 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
この出力の長さをサイクル長とする。この場合、サイクル長は 16となる。
ある二つの値(n, m)が与えられた場合、その範囲内に存在する値が持つサイクル長の中から最大値を求めよ。一行で、n m 最大サイクル長 を表示させる。
■サンプル(入力→出力)
1 10 → 1 10 20
100 200 → 100 200 125
201 210 → 201 210 89
900 1000 → 900 1000 174