typedef int INT;
INT gcd(INT a, INT b);
/*****************************************************************************
* 函數:lcm *
* 參數:a:數字1. *
* b:數字2. *
* 返回值:返回a和b的最小公倍數. *
* 功能:計算並返回a和b的最小公倍數. *
* 說明:調用函數:INT gcd(INT a, INT b); *
*****************************************************************************/
INT lcm(INT a, INT b)
{
return a / gcd(a, b) * b;
}
/*****************************************************************************
* 函數:gcd *
* 參數:a:數字1. *
* b:數字2. *
* 返回值:返回a和b的最大公約數. *
* 功能:計算並返回a和b的最大公約數(遞歸版本). *
*****************************************************************************/
/*
INT gcd(INT a, INT b)
{
if (0 == b)
return a;
return gcd(b, a % b);
}
*/
/*****************************************************************************
* 函數:gcd *
* 參數:a:數字1. *
* b:數字2. *
* 返回值:返回a和b的最大公約數. *
* 功能:計算並返回a和b的最大公約數(循環版本). *
*****************************************************************************/
INT gcd(INT a, INT b)
{
INT nTem;
while (0 != b)
{
nTem = b;
b = a % b;
a = nTem;
}
return a;
}
最小公倍數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.