算法:计算两个整数的最大公因子的欧几里得算法。
算法流程图:
算法Java实现:
//非递归实现
public static int gcd(int a, int b) {
if( a < b ) {
int t = a;
a = b;
b = t;
}
while( b != 0 ) {
int r = a % b;
a = b;
b = r;
}
return a;
}
//递归实现
public static int gcd(int a, int b) {
if( b == 0) {
return a;
}else {
return gcd(b, a%b);
}
}