Java最大公约数方法

这是求最大公约数的方法,while里的条件判别语句不是应该和m % max == 0 && n % max == 0等价的吗?为什么换成这个后,运行就报错了呢?

public static int divisor(int m,int n) {

int max;

if(m > n) {

max = n;

}else{

max =m;

}

while(m % max != 0 || n % max != 0){

max--;

}

return max;

}


fenkapian
浏览 2140回答 4
4回答

收拾好鑫情

如果只是换了while中的语句而其他不变,并不会报错,只是求出来的公约数不是正确的答案而已

fenkapian

补充一下,上面的代码没有问题。是将while括号里的判别语句换成m % max == 0 && n % max == 0后就不对了

不偏不易

测试了一下,没有异常,而且你说有异常,怎么不把异常的信息写出来?。。。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java