求解两个数最大公约数与最小公倍数--辗转相除法

求最大公约数与最小公倍数的问题有很多方法

这里简绍辗转相除法(用来求最大公因数)

我们通过数学证明可以得出

两个数的乘积=最大公约数x最小公倍数

详细的简绍可以参考百度百科

辗转相除法:就是选取两个数中用大的对小的取余,若余数为零就输出小的数并输出,若不为零,用被除数对刚才的余数求余

........

下面给出我的代码

int factor(int a,int b)

{
    int temp,dive=0;
    if(a < b)//保证a始终大于b
    {
        temp = a;
        a = b;
        b = temp;
    }
    while(b)
    {
        dive = b;
        b = a % b;
        a = dive;

    }

    return dive;//最大公因数
}

猜你喜欢

转载自blog.csdn.net/qq_41682681/article/details/80787349
今日推荐