最大公约数与最小公倍数

来源:互联网 发布:秦伟平 知乎 编辑:程序博客网 时间:2024/05/21 07:54

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;

}

原创粉丝点击