(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

  • 15
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值