問題
次のプログラムで、関数countの戻り値はいくつか。 ○ 整数型: count(整数型: n) 整数型: c ← 0 while (n > 0) c ← c + 1 n ← n / 2 endwhile return c (countを呼び出す引数は16)
選択肢
- 1ア 3
- 2イ 4
- 3ウ 5
- 4エ 16
解答と解説を見る
正解
3. ウ 5
解説
nを整数除算で2で割り続け、0になるまでの回数を数えます。16→8→4→2→1→0なので5回。結果はc=5。これはlog₂(n)+1回の計算に相当します。