アルゴリズムとプログラミング
基本情報技術者試験 科目A免除 修了試験 20200614 実施分 問4
与えられた正の整数 x0,x1(x0 > x1)の最大公約数を,次の手順で求める。x0=175,x1=77 の場合,手順 (2) は何回実行するか。ここで,“A ← B”は,B を A に代入することを表す。
〔手順〕
(1) i ← 2
(2) xi ← “xi-2 を xi-1 で割った剰余”
(3) xi=0 ならば xi-1 を最大公約数として終了する。
(4) “i ← i+1”として (2) に戻る。
答えを選ぶ
出典:基本情報技術者試験 科目A免除 修了試験 20200614 実施分 問4(問題文は IPA の公開問題。解説は当サイト作成)
解説に誤りを見つけたら、解説の誤りを報告してください。
答えと解説を見る
正解:イ
覚える知識
ユークリッドの互除法のトレースと初期値関係
最大公約数は、剰余が0になるまで割る相手と余りを入れ替えて求める。
この問題で必要なこと
175÷77の余り21、77÷21の余り14、21÷14の余り7、14÷7の余り0で、手順(2)は4回実行される。
ひっかけ
商の回数や、終了判定の回数の数え違い(3回や6回)。
この知識の出題:本試験系 6 回・免除試験 19 回(公開問題での観測値)。頻出知識ランキング46位(全1,254件中)。