ITの基礎知識|ITパスポート・基本情報

基本情報技術者 令和5年公開問題 科目A 問11

2026.08.11

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

  • ア a=2b
  • イ 2a=b
  • ウ 2a=3b
  • エ 3a=2b

Show answer

正解: エ

解説:

この流れ図は、mとnの大小を比較し、大きい方から小さい方を引く処理を繰り返す構造であり、ユークリッドの互除法(減算バージョン、最大公約数を求めるアルゴリズム)に相当する。流れ図の分岐は次の2段階になっている。

  • ②:mとnを比較し、「=」ならば⑥(印字して終了)へ、「≠」ならば③へ進む。
  • ③:mとnを比較し、「<」ならば⑤(n←n-m)へ、「>」ならば④(m←m-n)へ進む。④・⑤の処理後は、いずれも②の直前(ループの先頭)へ戻る。

指定された実行順序 ①→②→③→⑤→②→③→④→②→⑥ を、この分岐構造に沿ってたどると次のようになる。

  1. ①:m=a,n=bで初期化する。
  2. ②:m≠n(③へ)。③:m<n(⑤へ)と分かる。よって、この時点で a<b。⑤:n ← n-m = b-a
  3. ②:m(=a)と n(=b-a)を比較 → ≠(③へ)。③:m>n(④へ)と分かる。よって、この時点で a > b-a(すなわち2a>b)。④:m ← m-n = a-(b-a) = 2a-b
  4. ②:m(=2a-b)と n(=b-a)を比較 → =(⑥へ)。よって 2a-b = b-a。

最後の等式を整理すると、

$ 2a - b = b - a \Longrightarrow 3a = 2b $

となる。したがって a と b の関係は 3a=2b であり、正解はエ。

なお、途中で得られた条件「a<b」および「2a>b」は、3a=2b(すなわち b=1.5a)を満たす任意の正の整数(例:a=2,b=3)で矛盾なく成立することも確認できる(a=2<b=3、かつ2a=4>b=3)。