アルゴリズムとプログラミング

基本情報技術者試験 科目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件中)。

この知識をアプリで解いて覚える レッスン「数値を扱うアルゴリズムと計算問題」で学ぶ

同じ知識の過去問