Chinaunix首页 | 论坛 | 博客
  • 博客访问: 951677
  • 博文数量: 108
  • 博客积分: 3243
  • 博客等级: 中校
  • 技术积分: 964
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-15 22:09
文章分类

全部博文(108)

文章存档

2020年(2)

2019年(1)

2018年(2)

2017年(9)

2016年(20)

2015年(1)

2013年(1)

2012年(12)

2011年(28)

2010年(27)

2009年(4)

2008年(1)

分类: C/C++

2012-02-09 09:56:29

转载请注明出处

 

unsigned int MostCommonDivisor(int a, int b)

{

    // 最大公约数

    int vTemp;

    if (b > a)

    {

        vTemp = a;

        a = b;

        b = vTemp;

    }

 

    while(b != 0)

    { 

        vTemp = a % b;

        a = b;

        b = vTemp;

    }

 

    return a;

}

 

unsigned int LeastCommonMultiple(int a, int b)

{

    // 最小公倍数

   

    //INT64 vProduct = a * b;

    //return vProduct / MostCommonDivisor(a, b);

 

    // 上面的两数乘积容易产生溢出,换下面的方法

    return a / MostCommonDivisor(a, b) * b;

}

阅读(1102) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~