【发布时间】:2011-04-09 19:26:33
【问题描述】:
这是我的第一个问题:
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) 返回什么?
- 一个。 84
- 乙。 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
- 乙。 10 我选择了 ten ,因为 x 大于 y 并且在处理到 if 语句时。它返回值十。 if 语句确实运行除了 return 语句之外的任何东西。
- C. 15 答案是 15。
- D. 20
【问题讨论】:
-
第一次发帖:if (y == 0) ==:比较,=:赋值。和 (x % y),而不是 (x mod y),用于 Java 代码。好吧 - 方法头是完整的伪代码,而不是 Java。但是,我的印象是,答案 b 对于问题 1 是正确的。