基本情報暗記無料で始める

次のプログラム中の a ~ c に入れる正しい答えの組合せを、解答群の中から選べ。 関数gcdは、引数で与えられた二つの正の整数num1とnum2の最大公約数を、次の(1)~(3)の性質を利用して求める。 (1) num1とnum2が等しいとき、num1とnum2の最大公約数はnum1である。 (2) num1がnum2より大きいとき、num1とnum2の最大公約数は、(num1-num2)とnum2の最大公約数と等しい。 (3) num2がnum1より大きいとき、num1とnum2の最大公約数は、(num2-num1)とnum1の最大公約数と等しい。 〔プログラム〕 ○整数型: gcd(整数型: num1, 整数型: num2) 整数型: x ← num1 整数型: y ← num2 a if ( b ) x ← x - y else y ← y - x endif c return x

頻出基本情報技術者試験/2022年度 公開問題 科目B 問4/アルゴリズムとプログラミング / アルゴリズム

○整数型: gcd(整数型: num1, 整数型: num2) 整数型: x ← num1 整数型: y ← num2 a if ( b ) x ← x - y else y ← y - x endif c return x

選択肢

正解と解説

正解:エ a: while (x ≠ y), b: x > y, c: endwhile

利用する性質(2)(3)は、大きいほうから小さいほうを引く操作を、両者が等しくなるまで繰り返すことを示しています。したがってaは繰返し構造 while (x ≠ y)、cはその終わりのendwhileです。bの条件は、真のときにx←x-yを実行するので「xのほうが大きい」場合、すなわち x > y でなければなりません。

この問題を解く(同じ分野をあと9問) →

選択肢ごとの解説

出典:令和4年度 公開問題 基本情報技術者試験 科目B 問4(IPA)原本の紙面を見る(IPA 問題冊子より)

この問題に出た用語

同じ分野の他の問題

最終更新:2026-10-06/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。