分类: C/C++
2012-02-09 09:56:29
转载请注明出处
unsigned int MostCommonDivisor(int a, int b)
{
// 最大公约数
int vTemp;
if (b > a)
{
vTemp = a;
a = b;
b = vTemp;
}
while(b != 0)
{
vTemp = a % b;
a = b;
b = vTemp;
}
return a;
}
unsigned int LeastCommonMultiple(int a, int b)
{
// 最小公倍数
//INT64 vProduct = a * b;
//return vProduct / MostCommonDivisor(a, b);
// 上面的两数乘积容易产生溢出,换下面的方法
return a / MostCommonDivisor(a, b) * b;
}