【发布时间】:2013-07-11 19:58:09
【问题描述】:
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);
}
}
请让我知道我错过了什么。我是编程新手,还是个初学者。
【问题讨论】:
-
给我错误的答案那就错了。
-
`return(m, n%m);`这甚至编译?
-
很抱歉这是一个打字错误。我已经编辑了这个问题。 @SotiriosDelimanolis 他们没有给我解释哪个特定输入的错误,所以我问哪个可能的输入会产生错误的答案?也许这澄清了我的问题。
标签: java greatest-common-divisor