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

基本情報技術者試験 科目A免除 修了試験 20180128 実施分 問3

与えられた正の整数 x_0,x_1(x_0 > x_1)の最大公約数を,次の手順で求める。x_0=175,x_1=77 の場合,手順 (2) は何回実行するか。ここで,“A → B”は,A を B に代入することを表す。 〔手順〕 (1) 2 → i (2) x_(i-2) を x_(i-1) で割った剰余 → x_i (3) x_i=0 ならば x_(i-1) を最大公約数として終了する。 (4) i+1 → i として (2) に戻る。
  • ア 3
  • イ 4
  • ウ 6
  • エ 7

出典:基本情報技術者試験 科目A免除 修了試験 20180128 実施分 問3

答えと解説を見る

正解:イ

覚える知識

ユークリッドの互除法のトレースと初期値関係

ユークリッドの互除法は、割った剰余で割る操作を剰余が0になるまで繰り返して最大公約数を求める方法。

この問題で必要なこと

175÷77の剰余21、77÷21の剰余14、21÷14の剰余7、14÷7の剰余0と進み、手順(2)は4回実行される。

ひっかけ

最後の剰余0の回を数え忘れる、または余分に数えると3回や6回になる。

この知識の出題:本試験系 6 回・免除試験 19 回(公開問題での観測値)

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

同じ知識の過去問