次のプログラム中の a 〜 c に入れる正しい答えの組合せを,解答群の中から選べ。
関数 gcd は,引数で与えられた二つの正の整数 num1 と num2 の最大公約数を,次 の(1)〜(3) の性質を利用して求める。
(1) num1 と num2 が等しいとき,num1 と num2 の最大公約数は num1 である。
(2) num1 が num2 より大きいとき,num1 と num2 の最大公約数は,(num1 - num2) と num2 の最大公約数と等しい。
(3) num2 が num1 より大きいとき,num1 と num2 の最大公約数は,(num2 - num1) と num1 の最大公約数と等しい。
〔プログラム〕
◯整数型: gcd(整数型: num1, 整数型: num2)
整数型: x ← num1
整数型: y ← num2
a
if ( b )
x←x-y
else
y←y-x
endif
c
return x
解答群
| a | b | c | |
| ア | if(x≠y) | x<y | endif |
| イ | if(x≠y) | x>y | endif |
| ウ | while (x≠y) | x<y | endwhile |
| エ | while (x≠y) | x>y | endwhile |
解答
エ
解説
作成中