本文记录了采用欧几里得算法求解两个自然数的最大公约数的java实现,如有疑惑或错误之处可评论或邮箱联系博主:xuwang.me@gmail.com
/**
* Created by xuwang on 2017/9/15.
* function: 求两个自然数的最大公约数,这里采用欧几里德算法
*/
public class GreatestCommonDivisor {
public static void main(String args[]){
GreatestCommonDivisor gcd = new GreatestCommonDivisor();
int result = gcd.Euclid(1012045,75975);
System.out.println(result);
}
public int Euclid(int inputNumA, int inputNumB){
int result = -1;
if (inputNumA >= inputNumB) {
if (inputNumB == 0){
result = inputNumA;
}else {
result = Euclid(inputNumB, (inputNumA % inputNumB));
}
}else if (inputNumB > inputNumA){
if (inputNumA == 0){
result = inputNumB;
}else {
result = Euclid(inputNumA, (inputNumB % inputNumA));
}
}
return result;
}
}