当前位置: 首页 > news >正文

编程算法实例-最小公倍数

两个或多个整数公有的倍数称为公倍数,其中最小的正整数称为最小公倍数(LCM),记作[a,b]或lcm(a,b)。例如,12和18的公倍数有36、72等,最小公倍数为36。‌‌
两数的最小公倍数‌是它们公有的倍数中最小的正整数,可通过质因数分解、短除法或公式法(结合最大公约数)计算得出。

‌计算方法‌
‌1.分解质因数法‌:
将两数分别分解质因数,如12=2²×3,18=2×3²;
取所有质因数的最高次幂相乘:2²×3²=36。‌‌

‌2.短除法‌:
用两数的公约数连续相除,直至商互质;
所有除数与最终商的乘积即为LCM。例如,求18和24的最小公倍数:
2 | 18 24
3 | 9 12
| 3 4
LCM=2×3×3×4=72。‌‌

3‌.公式法‌:
若已知两数最大公约数(GCD),则LCM=两数乘积÷GCD。例如,48和72的最大公约数为24,LCM=48×72÷24=144。‌‌

‌4.特殊情况处理‌
4.1‌ 互质关系‌:若两数互质(如7和15),LCM=两数乘积。‌‌
4.2 ‌倍数关系‌:若一数是另一数的倍数(如24和8),LCM为较大数。‌‌

#include <stdio.h>//
int minMultipleNum(int n1, int n2) {int num = 0;int a = n1;int b = n2;//while (n2 != 0) {num = n1 % n2;n1 = n2;n2 = num;}num = a * b / n1;//return num;
}int main()
{int n1 = 18;int n2 = 24;int num = minMultipleNum(n1, n2);printf("num = %d\n",num);return 0;
}

num = 72

http://www.dtcms.com/a/336599.html

相关文章:

  • Python自学09-常用数据结构之元组
  • 黑马商城day08-Elasticsearch作业(个人记录、仅供参考、详细图解)
  • 嵌入式系统中的签名验证:设计与原理解析(C/C++代码实现)
  • Java基础Object中常见问题解析
  • Redis面试精讲 Day 24:Redis实现限流、计数与排行榜
  • 数字货币的法律属性与监管完善路径探析
  • SCAI采用公平发射机制成功登陆LetsBonk,60%代币供应量已锁仓
  • SpringBoot中,接口加解密
  • C语言课程开发
  • 【前端基础】flex布局中使用`justify-content`后,最后一行的布局问题
  • Java 基础 -- Java 基础知识
  • 2025-08-17 李沐深度学习18——循环神经网络基础
  • Spring Cloud系列—Seata部署
  • 照相机标定-动手学计算机视觉16
  • easya2a: 一键将 LangChain Agent 发布为 A2A 服务
  • Matlab数字图像处理——基于BM4D压缩感知的三维图像信号重构算法
  • 知识点汇集-web
  • 第三十八天(Node.JS)
  • 【LeetCode 热题 100】(八)二叉树
  • 如何使用java写一个agent
  • 说一下分离读写
  • c_str()函数的详细解析
  • 力扣438:找到字符串中所有的字母异位词
  • ACCESS/SQL SERVER保存软件版本号为整数类型,转成字符串
  • 第13章《远程处理:一对一及一对多》——PowerShell Remoting 学习笔记
  • Windows_Server软件定义网络架构
  • MXFP4量化:如何在80GB GPU上运行1200亿参数的GPT-OSS模型
  • 编程算法实例-阶乘
  • 天地图开发的优点
  • Steam 上传游戏包体操作步骤