令和4年度 ITパスポート 問79(テクノロジ)
出典:令和4年度 ITパスポート試験 公開問題 問79(独立行政法人情報処理推進機構(IPA))
流れ図で示す処理を終了したとき,xの値はどれか。
- ア0
- イ14
- ウ28
- エ56
正解と解説を見る
正解:イ
【流れ図の処理】
流れ図は、次の処理を表しています。
・xを98、yを42とする
・xとyが等しくなるまで、次を繰り返す(ループ端の条件 x = y は終了条件)
x > y なら、x - y を新しいxとする
x ≦ y なら、y - x を新しいyとする
大きい方から小さい方を引くことを繰り返すと、最後にxとyは等しくなり、その値は最初のxとyの最大公約数になります(ユークリッドの互除法の考え方)。
【トレース】
・x = 98、y = 42:x > y なので、x = 98 - 42 = 56
・x = 56、y = 42:x > y なので、x = 56 - 42 = 14
・x = 14、y = 42:x ≦ y なので、y = 42 - 14 = 28
・x = 14、y = 28:x ≦ y なので、y = 28 - 14 = 14
・x = 14、y = 14:x = y になったので終了
終了したときのxの値は14です。98と42の最大公約数も14です。
【選択肢の検討】
ア:0になるのは、等しくなった後も引き算を続けた場合です。x = y で終了するので、0にはなりません。
ウ:28は、途中で求めたyの値です。
エ:56は、最初に求めたxの値です。
よって、正解は選択肢イです。