我需要一些有关 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)
返回什么?
- 一个。 84
- b. 21
- 世纪3 (这是正确答案)
- d. 10
X 等于 84,y 等于 21。所以我在 Algorithm 类中运行它们。 84 不小于 21,所以我跳过该 if 语句。 84 不等于,所以我跳过该语句。我去 return gcd(y, x mod y)。我不明白什么是 mod 以及你如何理解它的含义?
第二个问题! 问题:Test2(18,5)
返回什么?
- A.5
- B.10 我选择 10 ,因为 x 大于 y 并且在处理到 if 语句时。它返回值 10。 if 语句确实运行除 return 语句之外的任何内容。
- C.15 答案是
- 15。D.20
This is my first problem:
gcd(x,y)
if (x < y)
gcd(y,x)
else
if (y = 0)
return x
else
return gcd(y, x mod y)
This is my second problem:
public static int Test2(int x, int y) {
if (x > y) {
return 10;
} else {
return Test2(x-5, y+5) + 5;
}
}
The question is: What is returned for gcd(84, 21)
?
- a. 84
- b. 21
- c. 3 (This is the correct answer)
- d. 10
X equals 84 and y equals 21. So I run them through the Algorithm class. 84 is not less than 21 so I skip that if statement. 84 is not equal so I skip that statement. I go to return gcd(y, x mod y). I don’t understand what is mod and how do you figure out what it means?
Second problem!
Question: What is returned for Test2(18,5)
?
- A. 5
- B. 10
I choose ten , because x is greater than y and when processed to the if statement. It returns a value of ten. The if statements does run anything but the return statement. - C. 15 The answer is 15.
- D. 20
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
mod
是 modulo 函数。这是当你除两个整数时剩下的。例如,10是第二题的正确答案,你的论点是正确的。
mod
is the modulo function. It's the rest when when you divide two integers. For example,10 is the correct answer for the second question, your argument is correct.
取模 运算符返回除法运算的余数。例如
3 mod 2 = 1
因为 1 是余数。%
通常用作 mod 的符号。在此示例中,84 mod 21
等于 0,因为 21 能被 84 整除四次。The modulo operator returns the remainder of a divison operation. e.g.
3 mod 2 = 1
since 1 is the remainder.%
is commonly used as the symbol for mod. In this example84 mod 21
equals 0 since 21 divides evenly into 84 four times.x mod y
不是有效的 Java,x % y
是有效的,它表示模;如果 x 除以 y 后剩下会怎样。顺便说一句,
这是答案
和答案是 15
是什么意思?最好仔细思考问题并解释你自己的答案。x mod y
is not valid Java,x % y
is and it means modulo; that what if left after an integer division of x by y.Btw, what do you mean with
this is the answer
andthe answer is 15
? Better to think the problem through and explain your own answer.