void Gcd(int m,int n)
{
if (n==0)
{
printf("gcd:%d\n",m);
}
else
{
Gcd(n,m%n);
}
}
void Gcd2(int m,int n)
{
int min = m>n?n:m;
while (min)
{
if (m%min==0 && n%min==0)
{
break;
}
--min;
}
printf("gcd:%d\n",min);
}
Gcd2(31415, 14142);用时4毫秒
和 Gcd(31415, 14142);用时5毫秒
看来还是第二个算法好点。