HOME»ソフトウェア開発技術者平成17年秋期»午前問15
ソフトウェア開発技術者平成17年秋期 午前問15
問15
関数 ƒ(x,y)が次のように定義されているとき,ƒ(775,527)の値は幾らか。ここで,x mod yはxをyで割った余りを返す。
ƒ(x, y): if y = 0 then return x else return ƒ(y, x mod y)
- 0
- 31
- 248
- 527
- [出題歴]
- 基本情報技術者 H23特別 問6
- 基本情報技術者 H29春期 問6
分類
テクノロジ系 » アルゴリズムとプログラミング » アルゴリズム
正解
イ
解説
再帰関数になっているので、段階的に計算していきます。
- ƒ(775, 527)=ƒ(527, 775 mod 527)
※775÷527=1 余り 248 - ƒ(527, 248)=ƒ(248, 527 mod 248)
※527÷248=2 余り 31 - ƒ(248, 31)=ƒ(31, 248 mod 31)
※248÷31=8 余り 0 - ƒ(31, 0)=(y=0なので)xを返却