応用情報技術者試験ナビ ロゴ 応用情報技術者試験ナビ
合格発表日:2025年7月3日(あと43日)

応用情報技術者試験 令和2年秋 午前問47 解説付き過去問

問題

次の流れ図において、①→②→③→⑤→②→③→④→②→⑥ の順に実行させるために、①においてmとnに与えるべき初期値aとbの関係はどれか。 ここで、a,bはともに正の整数とする。

正解

解説

この問題は、流れ図に従って処理が進み、指定された順「①→②→③→⑤→②→③→④→②→⑥」で処理が終了するように、初期値として与える m(a)と n(b)の関係を求める問題です。

  1. 流れ図の処理の基本
    最初に①で m ← a、n ← b の代入が行われ、以後は条件分岐によって処理が進みます。②~④、⑤は m と n の大小比較により分岐し、n ← n-m または m ← m-n の処理を行います。最終的に m=n となったとき、処理が終了します(⑥に到達)。

  2. 処理順から逆算して関係を求める
    問題では「①→②→③→⑤→②→③→④→②→⑥」の順に進むような a, b を求めます。これは以下のような処理順です。
    ・最初の②→③→⑤より、初期状態では m<n(a<b)
    ・次の②→③→④より、更新後の状態では m>n
    ・その後、②→⑥に進むため、m=n になる必要がある

    処理⑤では「n ← n-m」、次の④では「m ← m-n」です。
    ④の処理後に m=n となっていることから、④の処理直前の m は m ← m-n によって更新される前なので、「更新後のm」と「n」の和、すなわち m=n の関係から「更新前のm」は 2n だったことがわかります。

    その一つ前の⑤では「n ← n-m」。ここでの m は 2n だったので、更新前の n は m+n=3n です。したがって初期値として m=2n、n=3n に対応する比率となります。

    この関係から初期値 a, b において a:b=2:3 であればよいとわかります。

  3. 数式での確認
    a:b=2:3 を式にすると、3a=2b となります。
    この関係が正しい初期値の条件です。

したがって、初期値として与える m(a)と n(b)の関係は「3a=2b」が正しい答えです。