問題
関数 f(x,y) が次のとおり定義されているとき,f(775,527) の値は幾らか。ここで,x mod y は x を y で割った余りを返す。 f(x,y):if y = 0 then return x else return f(y,x mod y)
選択肢
- 10
- 231
- 3248
- 4527
正解
2. 31
詳しい解説を見る解説を閉じる
解説
この関数はユークリッドの互除法で最大公約数を求める。f(775,527)→f(527,248)→f(248,31)→f(31,0)=31 と計算される(775=527×1+248、527=248×2+31、248=31×8+0)。よって gcd(775,527)=31 となる。(出典: 平成29年度 春期 基本情報技術者試験 午前 問6)
一問一答
科目A 180問+科目B 60問