コンテンツにスキップ

進捗と提出

生徒情報

進捗

問題状態正解数最終採点

提出ファイル

すべての問題が終わったら、提出ファイルを作って先生に提出してください。 同じファイルは続きから再開するときの保存データにもなります。

続きから再開する

問題5-6: while で繰り返す

Python実行環境を読み込んでいます…(初回は少し時間がかかります)

回数が決まっていない繰り返し

繰り返す回数が最初から決まっていないときは while を使います。条件が成り立っているあいだ、ずっと繰り返します。繰り返す回数が決まっているなら for、何回で終わるか分からないなら while と使い分けます。

n = 100
count = 0
while n >= 10:
n = n // 2
count += 1
print(count)
実行結果
4

繰り返しの中で、必ず条件にかかわる値を変えてください。変えないと永遠に終わりません(無限ループ)。止まらなくなったらページを再読み込みしてください。

問題

整数 n が与えられます。n が偶数なら 2 でわり、奇数なら 3 倍して 1 を足す、という操作を、n が 1 になるまで繰り返します。何回の操作で 1 になるかを出力するプログラムを書いてください。

たとえば n = 6 のときは 6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1 と変化するので、答えは 8 回です。はじめから n = 1 のときは 0 回です。

入力

入力は1行で、整数 n が与えられます。

n

出力

1 になるまでの操作の回数を1行で出力してください。

制約

  • 1 ≦ n ≦ 1000
  • n は整数
  • この範囲の n は必ず 1 になることが確かめられています

入力例1

6

出力例1

8

入力例2

1

出力例2

0

コード(Python)

標準入力(「実行」で使われます)

実行結果

ここに実行結果が表示されます

入力した内容と採点結果は、この端末のブラウザ内に自動保存されます。 進捗の確認と提出ファイルのダウンロードは画面右上の「進捗と提出」で行えます(提出のしかた)。

最初に戻しますか?