快考试了,复习一下最简单的一些应用,然而发现自己竟然写不出来递归的求最大公约数,我的天啊 ,万一她考,要是我不用递归真可能挂科,诶。然后痛心疾首,恩,把非递归改成了递归,天啊,好心累、、、
代码
#include <stdio.h>
int gcd(int n,int m)
{
if(!m)
return n;
return gcd(m,n%m);
}
int main()
{
int n,m,tmp,r,p;
while(~scanf("%d%d",&n,&m))
{
p=m*n;
if(n<m)
{
tmp=n;
n=m;
m=tmp;
}
while(m!=0)
{
r=n%m;
n=m;
m=r;
}
printf("%d\n",n);
printf("%d\n",gcd(n,m));
}
return 0;
}