两个整数的最大公约数是能够同时整除它们的最大的正整数。辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数的差的最大公约数
具体细节参考:http://zh.wikipedia.org/wiki/輾轉相除法
<pre name="code" class="cpp">int gcd(int a, int b)
{
int temp;
if (a < b) //使a始终为最大数
{
temp = a;
a = b;
b = temp;
}
while (b != 0)
{
temp = a % b;
a = b;
b = temp;
}
return a;
}
具体细节参考:http://zh.wikipedia.org/wiki/輾轉相除法