求两个数的最小公倍数

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);

}

 

posted @ 2015-04-18 16:26  hy1hy  阅读(200)  评论(0编辑  收藏  举报