[0295] アルゴリズム,階乗

平成11年度秋期 (旧)第2情報処理技術者試験より
正の整数Mに対して次の二つの流れ図に示したアルゴリズムを実行したとき、結果の x の値が等しくなるようにしたい。 に入れる条件として、正しいものはどれか。

n > M
n > M + 1
n > M - 1
n < M

正解

解説

 まずは、繰り返し記号を使っている左側の流れ図を調べてみましょう。M = 3 のとき、どのような動きをするか、ひとつずつ追ってみます。




 変数 x は 1 で初期化され、ループ内で 3、2 と掛けられているので、M の階乗を求めるものだとわかります。階乗の計算は、
    [初期値] x = 1
    [ループ1回目] x = 1 × 3
    [ループ2回目] x = 1 × 3 × 2
という順序になっています。

 よって、問題文右側の流れ図でも、変数 x に M の階乗を代入する流れ図を完成させることになります。ただし、右側の流れ図では、ループ構造が後ろ判定繰り返しになっている点に注意してください。また、変数 n 初期値は 1 となっており、繰り返し構造のなかで、1 ずつ増加しているので、階乗の計算は、
    ・ x = 1
    ・ x = 1 × 2
    ・ x = 1 × 2 × 3
という順序になります。

 流れ図のループでは、変数 x の計算をしてから変数 n を増加させ、その後、判定を行います。よって、変数 n = 3 まではループ内を繰り返し、n = 4 にカウントアップした直後にループを抜ければよいことになります。

 以上より、判定条件は n > M で、アが正解です。
※ 解説の内容は執筆時点のものであり,含まれている情報の正確性,妥当性について保証するものではありません。ご注意ください・・・

関連する(かもしれない)問題