問題
擬似言語で「整数型: result ← 1; i ← 1; while (i ≦ 4) result ← result × i; i ← i + 1; endwhile」のresultは何か。
選択肢
- 124
- 24
- 310
- 4120
正解
1. 24
詳しい解説を見る解説を閉じる
解説
result=1、i=1から開始し、各回でresultにiを掛けてからiを1増やす。i=1でresult=1×1=1、i=2で1×2=2、i=3で2×3=6、i=4で6×4=24となり、i=5で条件i≦4が偽となりループを終了する。よってresultは24(=4の階乗)で正解である。4は最後に掛けたiの値だけを見た誤り、10は積ではなく和(1+2+3+4)を計算した誤り、120は5の階乗でループ回数を1回多く数えた誤りである。頻出ポイントは、累積変数の初期値を1にして順に掛けると階乗、初期値0から順に足すと総和になるという積・和の累積パターンの違いであり、最終回にiがいくつまで実行されるかを正確に追うことが正答の鍵になる。
一問一答
科目A 180問+科目B 60問