gpt4 book ai didi

java - 最大公约数环

转载 作者:行者123 更新时间:2023-12-02 02:00:54 25 4
gpt4 key购买 nike

我正在自学 Java,但似乎无法找出这个循环中的问题:

问题是找到两个整数 n1 和 n2 的最大公约数,其中 d 是较小的值。该方法是递减 d 直到 GCD 或达到 1...这是我目前所处的位置:

    Scanner input = new Scanner(System.in);
System.out.println("Please enter two integers: ");
int n1 = input.nextInt();
int n2 = input.nextInt();

int d = 0;
int temp = 0;
//finds the lowest value
if(n1 < n2) {
temp = n1;
n1 = n2;
n2 = temp;
}

for(d = n1;(n1 % d !=0 && n2 % d != 0);d--) {

}

System.out.println("The GCD of " + n1 + " and " + n2 + " is " + d);

有什么指点吗?

最佳答案

这里的逻辑是错误的:

(n1 % d !=0 && n2 % d != 0)

更改为:

(n1 % d !=0 || n2 % d != 0)

或者,一旦看到 n1 n2 的除数,而不是它们的 GCD,代码就会停止,因为循环终止条件应该是您想要执行的操作的否定。

关于java - 最大公约数环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16423776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com