问题描述
写一个程序, 求两个正整数的最大公约数。如果两个正整数都很 大 ,有什么简单的算法吗?
例如,给定两个数 1 100 100 210 011,120 200 021,求出其最大的公约数
解法一
public int gcd(int x, int y){
return y == 0 ? x : gcd(y, x % y);
}
解法二
public int gcd(int x, int y){
if(x < y){
return gcd(y, x);
}else if(y == 0){
return x;
}else{
return gdc(x - y, y);
}
}