C语言怎么求最大公约数和最小公倍数 三个数的最大公约数和最小公倍数怎么求

370 次观看 ·

怎么用C语言求两个数的最大公约数和最小公倍数

想在C语言里求两个数的最大公约数,最经典的方法就是辗转相除法啦,也叫欧几里得算法,简单到爆炸!大致思路是这样的:

  1. 准备两个正整数a和b,假如b不等于0,就用a除以b,算出余数r。
  2. 把a赋值给b,把b赋值给r。
  3. 重复这个过程,当余数变成0时,此时的b就是最大公约数啦!

举个例子,输入12和18,辗转相除过程就是18%12=6,接着12%6=0,所以最大公约数是6。利用最大公约数,我们还能轻松算出最小公倍数,公式超简单:最小公倍数 = (a × b) / 最大公约数。是不是很神奇~

再来说说相减损法,其实它和辗转相除法有点类似,只不过是用减法来操作。步骤就是:

  • 从较大的数x减去较小数y,得到差z。
  • 如果z=0,那x就是最大公约数。
  • 如果不为0,就把y赋给x,z赋给y,重复过程,直到差为0。

比如求18和12的最大公约数,18-12=6,然后12-6=6,再接着6-6=0,就停啦,最大公约数是6。这个方法更直观,也很适合刚接触编程的朋友们去理解。

c语言求最大公约数

怎么用C语言求三个数的最大公约数和最小公倍数

如果要求三个数的最大公约数和最小公倍数,其实思路跟两个数的很像,只是要稍微“玩转”一下函数调用。你可以这样干:

  1. 定义一个函数,用辗转相除法求两个数的最大公约数,比如gcd(a, b)。
  2. 用“对两个数的两个函数调用”处理三个数的情况:先求a和b的最大公约数,然后拿这个结果跟c再求一遍最大公约数,得到最终三个数的最大公约数。
  3. 同理,求最小公倍数时,先算出两个数的最小公倍数,再和第三个数一起算。

简单的代码示意就是:

int gcd(int a, int b) {
    while (b != 0) {
        int temp = a % b;
        a = b;
        b = temp;
    }
    return a;
}
int lcm(int a, int b) {
    return a / gcd(a, b) * b;
}
int gcd_three(int a, int b, int c) {
    return gcd(gcd(a, b), c);
}
int lcm_three(int a, int b, int c) {
    return lcm(lcm(a, b), c);
}

输入三个正整数,然后调用这些函数,就能轻轻松松算出来。要注意的是,最小公倍数可能不存在某些情况下(比如参数非法时),但通常正整数环境下是没问题的哦。

另外,程序里也可以设置输入提示和输出语句,让用户体验更友好,比如:

请输入三个正整数:3 6 9
最大公约数是:3
最小公倍数是:18

这对学习C语言基础、理解算法也非常有帮助呢!

c语言求最大公约数

相关问题解答

  1. C语言用辗转相除法和相减损法有什么区别吗?
    哎哟,这俩方法其实都能帮你算最大公约数,但辗转相除法更高效,计算快到飞起,适合大数;而相减损法更直观,比较适合入门理解,不过对大数来说就不太省劲啦!所以平时写程序推荐用辗转相除,码代码超顺!

  2. 最小公倍数为什么要用最大公约数来计算呢?
    这玩意儿其实是数学里一个超级棒的“绝妙搭档”,有了最大公约数,计算最小公倍数就轻松到爆啦!用公式:最小公倍数 = (两个数乘积) / 最大公约数,让计算稳稳的,不容易出错,棒棒哒~

  3. 输入三个数时,如果最小公倍数不存在怎么办?
    哎呀,正常说输入正整数,最小公倍数肯定存在!不过如果输入了什么奇怪的值,比如0或者负数,程序就要做判断啦,可以输出“not exist min_common_multiple!”提醒你输入有误,避免程序崩溃,写代码就是要这么贴心。

  4. 新手写C语言求最大公约数,常见坑有哪些呢?
    哎,别说,常见的坑真的不少!比如忘了判断输入是否为正整数嘞,或者循环条件写错导致死循环,或者除数为0没处理导致程序崩溃,还有就是函数调用顺序弄错啦,哈哈!所以写代码一定得小心翼翼,多调试几遍,才能安心放心地放飞自我~

添加评论

印兮虞 2025-12-06
我发布了视频《C语言怎么求最大公约数和最小公倍数 三个数的最大公约数和最小公倍数怎么求》,希望对大家有用!欢迎在作者专栏中查看更多精彩内容。
用户126906 1小时前
关于《C语言怎么求最大公约数和最小公倍数 三个数的最大公约数和最小公倍数怎么求》这个视频,印兮虞的沉浸式观看体验太棒了!特别是怎么用C语言求两个数的最大公约数和最小公这部分,视频质量很高,已经收藏了。
用户126907 1天前
在作者专栏看到这个2025-12-06发布的视频,剧场模式很有电影院的feel,暗色主题看起来很舒服,特别是作者印兮虞的制作,视频内容也很精彩!