算法,采用辗转相除法求最大公约数。
(1)输入两个整数数m和n
(2) m%n余数为r,然后m=n;n=r;
(3)当n=0,则m是最大公约数,算法结束,否则转至执行(2)重复上述过程,直至n=0为止
#include<stdio.h>
int main()
{
int m,n,r;
scanf("%d%d",&m,&n);
while(n)
{
r=m%n;
m=n;
n=r;
}
printf("这两个数的最大公约数是%d\n",m);
return 0;
}
//递归的方法
int gcd(int a,int b)
{
if(b==0)
return a;
else
return gcd(b,a%b);
}