欧几里得算法:两个数的最大公约数为其中较小的一个数与两数相除的余数的最大公约数
即gcd(a,b)=gcd(b,a%b) 无论a>b或者a<=b都成立
求最小公倍数先将最大公约数 x 求出,最小公倍数=a*b/x
//非递归算法
int gcd1(int m,int n)
{
int r=1;
while(r!=0)
{
r=m%n;
m=n;
n=r;
}
return m;
}
//递归算法
int gcd2(int a,int b)
{
if(a%b==0) return b;
else
return gcd2(b,a%b);
}