1.欧几里得算法:
gcd(a,b) = gcd(b,a mod b),递归程序:
int gcd (int a,int b){
return b==0?a:gcd(b,a % b);
}
可证:gcd(a,b)*lcm(a,b) = a*b,为了防止 溢出,常写为 lcm(a,b) = a/gcd(a,b)*b
1.欧几里得算法:
gcd(a,b) = gcd(b,a mod b),递归程序:
int gcd (int a,int b){
return b==0?a:gcd(b,a % b);
}
可证:gcd(a,b)*lcm(a,b) = a*b,为了防止 溢出,常写为 lcm(a,b) = a/gcd(a,b)*b