← クエスト一覧

クエスト66:コラッツ予想

スライド 1 / 5
コーデ
💻 コード例
実行結果
← クエスト一覧
🐍 Python / Quest 66 / 85

クエスト66:コラッツ予想

応用 +10 XP
🏠
今回の課題
n = 6 から始めて、コラッツ予想が 1 に到達するまでのステップ数 8 を表示しよう。
📖 解説を見る
🔢 コラッツ予想って何?

正の整数 n に対して、次をくり返すと必ず 1 になると言われている有名な問題です。
・偶数なら2で割る(n ÷ 2)
・奇数なら3倍して1足す(n × 3 + 1)

✏️ 例(n=6):
6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1(8ステップ)

📋 作るもの:
n が 1 になるまでくり返す(while を使う)
n が偶数なら 2 で割る。整数のわり算は // を使うこと
n が奇数なら 3倍して 1 を足す
・1周まわるごとに steps を1増やす
nsteps の用意と、最後の print は書いてある。n=6 なら 8 が出れば正解

💡 どこで使う?

「終わりの回数が決まっていない繰り返し」を while と条件分岐で書く練習です。ある状態に落ち着くまで計算を続けるシミュレーション、成功するまでのリトライ、収束するまでの反復計算など、回数を前もって決められない処理はすべてこの形になります。

⚠️ ポイント:
while n != 1: で、1 になるまでループ
・偶数判定は n % 2 == 0、整数のわり算は //
・1周ごとに steps を1増やす
ヒントを見る
1 になるまで while でまわそう。偶数か奇数かは % で判定して、それぞれの計算で n を更新する。ループの中で毎回 steps を1増やすのを忘れずに。
期待する出力
8
📄 見本
「答えを見る」を押すと、お手本のコードが出ます。クリックでコピーできます。
💻 コードエディタ
実行すると結果がここに表示されます
正解!見本と同じになりました。
次へ →
🏠 ホームへ

れんしゅうもんだい

☑ 0 / 3 正解 レッスンに戻る

全問正解でクエストクリア!

未挑戦

問題 1: n=27のコラッツ予想のステップ数を表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
111
未挑戦

問題 2: n=6のコラッツ予想で通る全ての数を表示しよう!(6,3,10,5,16,8,4,2,1)

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
6 3 10 5 16 8 4 2 1
未挑戦

問題 3: 1〜10のうち最もステップ数が多い数とそのステップ数を表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
9 19
コピーしました!