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);
}
运行结果:
热门推荐
重磅!探秘仰韶文化:探寻彩陶艺术的历史遗迹
猫咪耳螨:症状、原因及治疗全攻略
1900年廊坊大捷大到什么程度?消灭多少联军?廊坊大捷全过程详解
1900年廊坊大捷大到什么程度?消灭多少联军?廊坊大捷全过程详解
经典家常美味:莲藕排骨汤的制作秘籍
吕不韦一生堪称传奇,为秦国统一天下铺平道路,他是如何做到的?
孕妇休息注意事项有哪些?怀孕时应如何规划休息时间?
汽车钥匙全解析:从传统机械钥匙到智能蓝牙钥匙
为什么照顾鹦鹉是一项严肃的终身承诺
高粱的生长习性特点和生长环境条件
遭遇合同欺诈怎么办?法律为你支招
Chrome浏览器添加并信任私有证书的完整指南
司法解释在法律适用中的作用与意义
“忙碌”如何成为一种身份象征
Excel实现四舍五入保留两位小数的方法详解(函数应用及高级技巧)
“弱智吧”帖子训练AI效果遥遥领先?研究团队回应
生蚝和海蛎的区别:从外观到营养的全面解析
生蚝和海蛎的区别?哪种好吃?
向上管理的8个实用技巧
合肥工业大学:人工智能课程将覆盖所有本科生
缺乏安全感的女生:行为表现、性格特点及改善建议
笔记本AMD与Intel处理器对决:实测性能深度分析
全球最宜居城市TOP5 | 用研
化学专业全国大学排名一览表(2025年最新100强)
探寻城市脉络:武汉慢行交通改造记
武汉旅游必去的十大步行街有哪些?武汉旅游必去步行街排行榜前十
从都江堰到黄山的路程、交通方式及旅行攻略详解
联络员岗位职责汇编(12篇)
项目如何做版本发布管理
中金公司:2月通胀数据点评,CPI、PPI双双下跌,低通胀格局下债牛未尽