gpt4 book ai didi

java - gcd 的这种实现是否正确

转载 作者:行者123 更新时间:2023-12-01 08:10:45 30 4
gpt4 key购买 nike

public static int divisor(int m, int n) {
if (m == 0 || n == 0) {
return m+n;
} else {
return divisor(n, m%n);
}
}

它为我提供了 amazon.interviewstreet.com 中某些输入的错误答案(我不知道是哪个,因为他们没有透露用于测试用例的输入)

为什么这个实现总是给我带来 stackoverflow(同样不知道哪些输入)

public static int divisor(int m, int n) {
if(m == 0 || n == 0) {
return m+n;
} else if (m > n) {
return divisor(n, m%n);
} else {
return divisor(m, n%m);
}
}

请让我知道我错过了什么。我是编程新手,而且还是个初学者。

最佳答案

我认为第一个是编程竞赛的代码。如果是这样,请小心您的数据类型。可能“int”不足以容纳输入。尝试用“长”来代替。(只有当你的算法正确时这才有效。)

关于java - gcd 的这种实现是否正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17602322/

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