(C语言练习) 用函数来求最大公因数和最小公倍数

Posted 赛罗丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(C语言练习) 用函数来求最大公因数和最小公倍数相关的知识,希望对你有一定的参考价值。

(C语言练习) 用函数来求最大公因数和最小公倍数

首先我们要知道最大公因数和最小公倍数怎么求
最大公因数 :用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。
最小公倍数: 最小公倍数=两数的乘积/最大公约(因)数
//定义最大公因数的函数
int max_GongYinShu(int a,int b)
{
    /*最大公因数的算法   
    用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。
    如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。
    */

    if (a < b)
    {
        int t = a;
        a = b;
        b = t;
    }
    //因为0不能做被除数
    while (b != 0) 
    {
        int w = a % b;     //计算余数     
        a = b;             //程序能执行到这里说明a除以b有余数 然后换位,再将余数和a比较 ,直到最后余数为0
        b = w;
    }
    return a;               //因为是求最大公因数,所以返回 a
}

//最小公倍数  函数
int min_GongBeiShu(int a, int b)
{
    /*
    *  最大公倍数的算法
    *  最小公倍数=两数的乘积/最大公约(因)数
    */
    return a * b / max_GongYinShu(a, b);
}
int main()
{
    int a, b,c, m, n;//定义所需的变量
    printf("请输入2个数\\n");
    scanf_s("%d %d", &a, &b);


    m = max_GongYinShu(a, b);

    n = min_GongBeiShu(a, b);

    printf("最大公因数为%d\\n", m);
    printf("最小公倍数为%d\\n", n);


}

输出结果

请输入2个数
16 18
最大公因数为2
最小公倍数为144

以上是关于(C语言练习) 用函数来求最大公因数和最小公倍数的主要内容,如果未能解决你的问题,请参考以下文章

(C语言练习) 用函数来求最大公因数和最小公倍数

c语言,用分解质因数的方法求两个数的最大公约数

最大公因数,最小公倍数,因式分解

C语言中如何调用函数求最大公约数和最小公倍数

求GCD和LCM,即指求最大公约数和最小公倍数。

用python计算最大公约数和最小公倍数