C 求最小公倍数算法

求两个数的最小公倍数算法:

/* Lowest common multiple *//* Greatest common divisor */
unsigned long gcd(unsigned long a, unsigned long b)
{
    unsigned long r;


    if (a < b) 
        swap(a, b);
    while ((r = a % b) != 0) {
        a = b;
        b = r;
    }
    return b;
}

unsigned long lcm(unsigned long a, unsigned long b)
{
    if (a && b)
        return (a * b) / gcd(a, b);
    else if (b)
        return b;
    
    return a;

}   

int main()

{

    unsigned long  a = ***,  b= ***, c;

    c = lcm(a, b);

    printf("c %d\n", c);

    return 0;

}

猜你喜欢

转载自blog.csdn.net/sean_8180/article/details/81015583