辗转相除法求两个数的最大公约数和最小公倍数

最大公约数:

int rmd(int x, int y)/* x为较大的数,y为较小的数 */
{
  int t = x%y;
  if (0 != t)
  {

    rmd(y, t);
  }
  else
  {
    return y;
  }
}

 

最小公倍数:

int dmr(int x, int y, int xy)/* x为较大的数,y为较小的数,xy为两数的乘积,最小公倍数为两个数的乘积除以最大公约数 */
{
  int t = x%y;
  if (0 != t)
  {
    dmr(y, t, xy);
  }
  else
  {
    return xy/y;
  }
}

posted @ 2013-11-15 20:20  叶图  阅读(350)  评论(0编辑  收藏  举报