C语言实现最大公约数与最小公倍数
创作时间:
作者:
@小白创作中心
C语言实现最大公约数与最小公倍数
引用
CSDN
1.
https://blog.csdn.net/weixin_63356609/article/details/140782311
本文将介绍如何使用C语言求解两个整数的最大公约数(Greatest Common Divisor,GCD)和最小公倍数(Least Common Multiple,LCM)。我们将使用辗转相除法来计算最大公约数,并基于最大公约数来计算最小公倍数。
求最大公约数
辗转相除法(首选,因为简单快捷)
思路:
- 将两整数求余
a % b = c
- 如果
c = 0
,则b
为最大公约数 - 如果
c != 0
,则a = b
;b = c
;继续从1开始执行 - 也就是说该循环的是否继续的判断条件就是
c
是否为0
举例说明:
假设 a = 21
,b = 28
c = a % b = 21 % 28 = 21
,此时c = 21
不为0- 执行
a = b
,b = c
,即a = 28
,b = 21
c = a % b = 28 % 21 = 7
,此时c = 7
不为0- 执行
a = b
,b = c
,即a = 21
,b = 7
c = a % b = 21 % 7 = 0
,此时c = 0
循环结束
求最小公倍数
最小公倍数计算公式: 最小公倍数 = 两个数之间的乘积 / 两个数之间的最大公因数
下面是完整的C语言程序实现:
#include <stdio.h>
int HCF(int, int); // 最大公约数函数声明
int LCD(int, int, int); // 最小公倍数函数声明
int main() {
int a, b, h, l;
printf("请输入两个数:");
scanf("%d%d", &a, &b);
h = HCF(a, b);
l = LCD(a, b, h);
printf("最大公约数是:%d\n最小公倍数是:%d", h, l);
return 0;
}
// 最大公约数函数实现
int HCF(int a, int b) {
int t, r;
if (b > a) {
t = b;
b = a;
a = t;
}
while ((r = a % b) != 0) {
a = b;
b = r;
}
return b;
}
// 最小公倍数函数实现
int LCD(int a, int b, int h) {
return (a * b / h);
}
运行结果:
热门推荐
纽扣电池怎么选大小 纽扣电池安装、使用、保存知识大全
“目”浴阳光!预防近视从娃娃抓起,这份户外运动指南请收好
去香港能带多少现金?海关提醒:携带进出境现钞有限额
“苏州”的由来
家庭用户选择RAID5 NAS存储模式的利弊详解
国际羽毛球比赛中有多少个裁判(羽毛球临场裁判员分管职责)
国际羽毛球比赛中有多少个裁判(羽毛球临场裁判员分管职责)
方大同美国病逝终年41岁 曾因肺疾神隐两年
导致白发的六大因素
杀蟑螂用什么药
中心性浆液性脉络膜视网膜病变(中浆病)全面解析:从病因到防治
怎么积累解题经验(更好地积累解题经验的方法)
上海金融行业就业前景:机遇与挑战并存
金刚菩提子的保养指南:清洁与保存技巧
笔记本电脑拆解指南:准备工作、步骤和注意事项全解析
高血压十大忌口
60岁 必看!国家新规:100条旅游专列,科学证明旅行让老人更年轻
冬天老是长倒刺怎么办?关于长倒刺5个真相
黑科技!人工肌肉材料浮出水面 中国智能高分子材料领先国际水平
法院开庭前怎么沟通离婚
"离婚搭子":一种新型的家庭模式正在悄然兴起
旧身份证换新身份证要钱吗
跑楼梯、跳绳、俯卧撑、扎马站桩......5分钟“职场快充运动”,你试了吗?
如何评估人工智能发展趋势中的风险与机遇?
冬天完全闭门关窗不可取!经常开窗通风和不爱开窗,会有哪些差别?
公积金中断如何申请贷款买房
公积金补缴政策详解及贷款注意事项
什么是票据追索
康熙大帝:削三藩、驱逐沙俄、三征噶尔丹、收复台湾,为何被称为“千古一帝”?
学日语的好网站:高效学习资源推荐