欧几里德算法又称辗转相除法,是指用于计算两个正整数a,b的最大公约数。
public class Eucidean {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
System.out.println("请输入需要求最大公约数的两个整数");
int a=sc.nextInt();
int b=sc.nextInt();
int tem=0;
if(a<b){//比较a和b的大小,如果a<b,将a、b的值交换。
tem=a;
a=b;
b=tem;
}
int g=EucAlgorithm(a,b);
System.out.println("最大公约数为:"+g);
}
public static int EucAlgorithm(int a,int b){
int r=0;
while(a%b!=0){//判断最大数除以较小数的余数,如果余数等于0,则较小数为这两个数的最大公约数;否则继续用较小数除以余数,最终当余数为0时,被除数即为两数的最大公约数。
r=a%b;
a=b;
b=r;
}
return b;
}
}