我需要一些有关 Java 递归问题的帮助

发布于 2024-10-31 18:36:02 字数 784 浏览 1 评论 0原文

这是我的第一个问题:

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

楠木可依 2024-11-07 18:36:02

modmodulo 函数。这是当你除两个整数时剩下的。例如,

1 mod 3 = 1
2 mod 3 = 2
3 mod 3 = 0
4 mod 3 = 1
10 mod 4 = 2

10是第二题的正确答案,你的论点是正确的。

mod is the modulo function. It's the rest when when you divide two integers. For example,

1 mod 3 = 1
2 mod 3 = 2
3 mod 3 = 0
4 mod 3 = 1
10 mod 4 = 2

10 is the correct answer for the second question, your argument is correct.

唔猫 2024-11-07 18:36:02

取模 运算符返回除法运算的余数。例如 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 example 84 mod 21 equals 0 since 21 divides evenly into 84 four times.

命比纸薄 2024-11-07 18:36:02

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 and the answer is 15? Better to think the problem through and explain your own answer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文