流れ図の等価な終了条件
出典: 令和6年度 春期 応用情報技術者試験 午前 問5 (IPA)
正の整数 M に対して,次の二つの流れ図に示すアルゴリズムを実行したとき,結果 x の値が等しくなるようにしたい。a に入れる条件として,適切なものはどれか。

- ア n<M
- イ n>M-1
- ウ n>M
- エ n>M+1
正解と解説を見る
正解: ウ
- ア: n<M だと、最初 (n = 2) から Yes になって終了してしまい、ほとんど掛け算が行われません。
- イ: n>M−1 では n = M になった時点で終了し、M を掛ける前に終わってしまいます。
- ウ: n が M+1 になった時点で終了し、1 から M までを掛けるので左の流れ図と一致します。正しい答えです。
- エ: n>M+1 では M+1 まで掛けてしまい、M! より大きくなります。
ポイント
- 左の流れ図は n を M から 1 まで 1 ずつ減らし、x に n を掛けるので、x = M × (M−1) × … × 1 = M! になります。
- 右の流れ図は n = 1 から始めて、x に n を掛けてから n を 1 増やします。M! にするには n = M まで掛けた後 (このとき n は M+1 になっている) に終了すればよいので、終了条件 a は n>M です。
- n>M−1 だと M−1 までしか掛けず、n>M+1 だと M+1 まで掛けてしまいます。