整数x,y(x>y≧0)に対して,次のように定義された関数F(x,y)がある。F(231,15)の値は幾らか。ここで,x mod yはxをyで割った余りである。 F(x,y) = x (y=0のとき)、F(y, x mod y) (y>0のとき)

F(x,y)=F(y, x mod y)は互除法。答えは最大公約数

頻出基本情報技術者試験2016年度 秋期 午前7/アルゴリズムとプログラミング / アルゴリズム

選択肢

正解と解説

正解: 3

この再帰関数はユークリッドの互除法そのもので、最終的に最大公約数を返す。実際に追うと231を15で割った余りは6、次に15を6で割った余りは3、次に6を3で割った余りは0となり、第2引数が0になった時点の第1引数3が値となる。231=3×7×11、15=3×5なので最大公約数3と一致する。

選択肢ごとの解説

出典:平成28年度 秋期 基本情報技術者試験 午前 問7(IPA)

同じ分野の他の問題

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