1.非递归实现(两个数相乘再除以最大公约数)
int max_common_doulbe(int a, int b)
{
int nMax=a>b?a:b;
int nMin=a<b?a:b;
while(nMin)
{
int nTmp=nMax%nMin;
nMax=nMin;
nMin=nTmp;
}
int nMaxGY=nMax; //最大公约数
return a*b/nMaxGY;
}
2. 递归实现
int max_common_doulbe(int a, int b, int ab)
{
int nMax=a>b?a:b;
int nMin=a<b?a:b;
int nMaxGY=nMax; //最大公约数
if(0==nMin)
{
return ab/nMaxGY;
}
else
return max_common_doulbe(nMax, nMax%nMin, ab);
}
时间: 2024-11-07 06:17:31