【发布时间】:2016-03-29 18:53:20
【问题描述】:
我刚刚写了一个程序来计算两个数字的gcd。我用数字 6 和 4 对其进行了测试。我的程序返回的结果是 4,这显然是错误的,因为 6 和 4 的 gcd 是 2。
import javax.swing.*;
public class Zahlen {
public static long gcd(long m, long n){
m = Long.parseLong(JOptionPane.showInputDialog("Enter value for m"));
n = Long.parseLong(JOptionPane.showInputDialog("Enter value for n"));
long tmp;
while (n > 0) {
tmp = n;
m = n;
n = m;
n = n%m;
} // end of while
return m;
}
public static void main(String[] args){
System.out.print(Zahlen.gcd(6,4));
}
}
【问题讨论】:
-
m = n;和n = m;... 这只是设置n = n; -
另外,如果要立即覆盖参数,为什么还要使用参数?
-
为什么一个简单的调试问题会获得投票?
-
为什么这个问题的票数接近“不能再被复制或印刷错误”?这个问题都不是。
标签: java greatest-common-divisor