递归:
int gcd(int a,int b)
{
return b==?a:gcd(b,a%b);
}
非递归:
int gcd(int m,int n)
{
int r;
while( (r=m%n)>)
{
m=n;
n=r;
}
return n;
}
不用考虑那个数值大小的问题,直接进行运算
数据测试:
gcd(8,12)
1.while r=8%12=8
m=12 n=8
2.while r=12%8=4
m=8 n=4
3.while r=8%4=0 //跳出循环
cout n //n=4