問題
選択肢
- 110
- 216
- 332
- 464
正解
3. 32
詳しい解説を見る解説を閉じる
解説
power(base, exp)は、resultを1で初期化し、ループでbaseをexp回掛け合わせて累乗を求める関数である。power(2, 5)をトレースすると、i=1: result=1×2=2、i=2: result=2×2=4、i=3: result=4×2=8、i=4: result=8×2=16、i=5: result=16×2=32 となり、i=6で条件 i≦5 が偽となって終了する。戻り値は 2^5 = 32 で「32」が正解である。16は2^4でループ回数を1回少なく数えた値、64は2^6で1回多く回した値、10は累乗を2×5という単なる乗算と誤解した値である。「resultを1で初期化し、baseを掛け続ける」のは累乗計算の定石パターンであり、ループが何回実行されるか(i=1からexpまでのexp回)の数え間違いが最大の失点源である。
一問一答
科目A 180問+科目B 60問