辗转相除法:辗转相除法是求两个自然数的最大公约数的一种方法,也叫欧几里德算法。 过程:
用辗转相除法求几个数的最大公约数,可以先求出其中任意两个数的最大公约数,再求这个最大公约数与第三个数的最大公约数,依次求下去,直到最后一个数为止。最后所得的那个最大公约数,就是所有这些数的最大公约数。
程序实现:
/**
* Created by hongcaixia on 2019/10/6.
*/
public class GreatestCommonDivisor {
public static void main(String[] args) {
int maxComm = getMaxComm(319, 377);
//29
System.out.println("最大公约数是:"+maxComm);
}
public static int getMaxComm(int m,int n){
if(m<=0 || n<=0){
System.out.println("输入数据错误!");
}
if(m<n){
int temp = 0;
//m,n交换
temp = m;
m = n;
n = temp;
}
int r = m%n;
while (r!=0){
m = n;
n = r;
r = m%n;
}
return n;
}
}