求两个整数的最大公约数和最小公倍数

最大公约数:

class MyMath

{

  public int GetMaxDiv(int a, int b)

  {

    if(a >= b)

    {

      return getMaxDiv(a,b);

    }

    else 

    {

      return getMaxDiv(b,a);

    }

  } 

  private int getMaxDiv(int a, int b)

  {

    if(b ==0)

    {

      return a;

    }

    if(a == b)

    {

      return a;

    }

    return getMaxDiv(b,a%b);

  }

}

 

最小公倍数:(正整数转化为二进制后,计算有多少个1)

private int GetCount(int n)

{

  if(n<=0)

  {

    return 0;

  }

  int sum =0;

  while(n > 0)

  {

    sum += n %2;

    n = n/2;

  }

  return sum;

}

posted @ 2010-06-26 09:39  JasonNET  阅读(219)  评论(0编辑  收藏  举报