過去問解きまくり研究所 ホーム

アルゴリズムとプログラミング|令和4年度 ITパスポート試験 問79

流れ図で示す処理を終了したとき,xの値はどれか。

〔流れ図〕(原典は JIS の流れ図記号で描かれた図。処理の順に書き起こしたもの

```
開始

x を98とする

y を42とする

┌─ 繰返し(ループ端の条件: x = y )(注)
│ ↓
│ < x : y > ── ≦ ──▶ y - x の計算結果を新たなyとする ─┐
│ │ > │
│ ▼ │
│ x - y の計算結果を新たなxとする │
│ ↓◀────────────────────────────────────────────────────┘
└─ 繰返し

終了

(注)ループ端の条件は,終了条件を示す。
```

解説

98と42を引き算でそろえていくと、どちらも14になります。

この流れ図は、二つの変数の値が等しくなるまで、大きいほうから小さいほうを引き続けるアルゴリズムです。ループ端の条件は終了条件だと注記があるので、xとyが等しくなった時点で抜けます。順に追うと、はじめは98と42で、xのほうが大きいのでxを98引く42の56にします。次も56と42でxが大きいので、xを14にします。すると14と42になり、今度はxのほうが大きくないので、yを42引く14の28にします。続いて14と28で、やはりyを28引く14の14にします。ここで両方が14になり、終了条件を満たして処理が終わります。これは引き算だけで最大公約数を求めるやり方で、98と42の最大公約数が14であることと一致します。一回で決めず、条件を満たすまで追いかけるのがこつです。よってxの値は14です。

ほかの選択肢はなぜ違うのか

この問題に関係する言葉

出典:令和4年度 ITパスポート試験 問79(改変:原典の図表をテキストに書き起こした)

この問題を演習で解く

同じ単元をまとめて解くならアルゴリズムとプログラミングへ。

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)