// 我们可以从两个数的比较小的那个开始,看看时候可以同时整除这两个数,如果可以,那么就是结果。
// 如果不行,我们就把它减一,再试。一直到减到1,这时一定是可以整除的。
/*
public static int GetBigestCommonDivisor(int x, int y)
{
int nresult;
if (x > y)
nresult = y;
else
nresult = x;
for (;nresult > 1;nresult --)
{
if ((x % nresult) == 0 && (y % nresult) == 0)
break;
}
return nresult;
}
*/
// 首先我们假设结果是两个数中小的那一个是结果,用它去除比较大的数,如果余数是0,
// 那么它就是结果。如果不是0,那么我们就把这个余数假设为结果,把原来小的那个数作为验证的被除数,再进行验证。直到找到结果。
public static int GetBigestCommonDivisor(int x, int y)
{
int ntemp;
// Ensure x > y
if (x < y)
{
ntemp = x;
x = y;
y = temp;
}
while (y > 1)
{
temp = x % y;
if (ntemp == 0)
break;
x = y;
y = ntemp;
}
return y;
}