您的位置:首页 > 其它

用递归的方法求两个数的最大公约数

2016-04-11 20:03 316 查看
两个整型值M,N(M和N均大于零)的最大公约数可以按照下列方法计算:
当M%N=0时,gcd(M,N)=N;
当M%N=R,R>0时gcd(M,N)=gcd(N,R);
代码如下:
#include<stdio.h>
int gcd(int m, int n)
{
int r = 0;
r = m%n;
if (r<0)
return 0;
else if (r == 0)
return n;
else if (r>0)
return  gcd(n, r);
}
int main()
{
int N = 0;
int M = 0;
int gc = 0;
scanf("%d%d", &N, &M);
gc = gcd(M, N);
printf("%d\n", gc);

system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: