這是我的第一個問題:我需要一些幫助與Java遞歸問題
gcd(x,y)
if (x < y)
gcd(y,x)
else
if (y = 0)
return x
else
return gcd(y, x mod y)
這是我的第二個問題:
public static int Test2(int x, int y) {
if (x > y) {
return 10;
} else {
return Test2(x-5, y+5) + 5;
}
}
的問題是:什麼是返回gcd(84, 21)
?
- a。 84
- b。 21
- c。 3(這是正確答案)
- d。 10
X等於84,y等於21.所以我通過Algorithm類運行它們。 84不小於21,所以我跳過那個if語句。 84並不相同,所以我跳過那句話。我去返回gcd(y,x mod y)。我不明白什麼是mod,你如何弄清楚它的含義?
第二個問題! 問題:Test2(18,5)
返回什麼?
- A. 5
- B. 10 我選十個,因爲X大於y,當處理if語句。它返回一個十的值。 if語句只運行return語句。
- C. 15答案是15
- D. 20
在第一篇文章中:if(y == 0)==:比較,= =賦值。和(x%y),而不是(x mod y),用於Java代碼。那麼 - 方法頭是完整的僞代碼,而不是Java。但是,我的印象是,答案b對於問題1是正確的。 – 2011-04-09 22:25:17