問題5-6: while で繰り返す
回数が決まっていない繰り返し
繰り返す回数が最初から決まっていないときは while を使います。条件が成り立っているあいだ、ずっと繰り返します。繰り返す回数が決まっているなら for、何回で終わるか分からないなら while と使い分けます。
n = 100count = 0while n >= 10: n = n // 2 count += 1print(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 ≦ 1000n は整数この範囲の n は必ず 1 になることが確かめられています
入力例1
6出力例1
8入力例2
1出力例2
0コード(Python)
標準入力(「実行」で使われます)
実行結果
ここに実行結果が表示されます入力した内容と採点結果は、この端末のブラウザ内に自動保存されます。 進捗の確認と提出ファイルのダウンロードは画面右上の「進捗と提出」で行えます(提出のしかた)。