使用递归
int gcd(int x,int y) {
int max=x>y? x:y;
int min=x<y? x:y;
if(min==0) {
return max;
}
return gcd(min,max%min);
}
更加精简的这个也行
int gcd(int x,int y) {
if(y==0) {
return x;
}
return gcd(y,x%y);
}
本文介绍了使用递归算法来求解两个整数的最大公约数(GCD)。提供了两种递归实现方式,一种通过不断交换最大值和最小值并取模的方式逐步逼近答案,另一种则是更为简洁直接的实现。
使用递归
int gcd(int x,int y) {
int max=x>y? x:y;
int min=x<y? x:y;
if(min==0) {
return max;
}
return gcd(min,max%min);
}
更加精简的这个也行
int gcd(int x,int y) {
if(y==0) {
return x;
}
return gcd(y,x%y);
}
1527

被折叠的 条评论
为什么被折叠?