计算最小公倍数LCM
Lowest Common Multiple(LCM)
这是数论算法中的基础算法程序。
基于非递归的欧几里得算法(计算最大公约数GCD算法)来求解最小公倍数。
/** 计算最小公倍数(Lowest Common Multiple,LCM)* 需要用到计算最大公约数的函数** 两个数的乘积等于这两个数的最大公约数与最小公倍数的积。* 即(a, b)×[a, b]=a×b。* (a, b)表示a和b的最大公约数,[a, b]表示a和b的最小公倍数。**/#include <stdio.h>long gcd(long m, long n)
{for(;;) {if(n == 0)return m;long temp = m % n;m = n;n = temp;}
}long lcm(long a, long b)
{
// return a * b / gcd(a, b);return a / gcd(a, b) * b;}int main(void)
{printf("a=%d, b=%d, lcm=%ld\n", 18, 20, lcm(18, 20)); printf("a=%d, b=%d, lcm=%ld\n", 15, 90, lcm(15, 90));return 0;
}
关键代码:
long gcd(long m, long n)
{ for(;;) { if(n == 0) return m; long temp = m % n; m = n; n = temp; }
} long lcm(long a, long b)
{
// return a * b / gcd(a, b); return a / gcd(a, b) * b; }
计算最小公倍数LCM相关推荐
- 51Nod-1012 最小公倍数LCM【欧几里得算法】
1012 最小公倍数LCM 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 输入2个正整数A,B,求A与B的最小公倍数. Input 2个数A,B,中间用空格隔开.(1& ...
- 最大公约数GCD与最小公倍数LCM
一.最大公约数(GCD) 最大公约数的递归:1.若a可以整除b,则最大公约数是b 2.如果1不成立,最大公约数便是b与a%b的最大公约数. 辗转相除法. 1.欧几里得算法(辗转相除法) int ...
- 离散数学/初等数论:用“质因子分解法”和“欧几里得算法”求最大公约数gcd;“质因子分解法”和“最简算法”求最小公倍数lcm;以及对“意义”的一些看法。
需要在开头提前说明,本篇文章仅仅用于在学习初等数论或者离散数学时候对算术基本定理的理解,实际应用的时候把结论告诉大家,想求最大公约数就用欧几里得算法是最简单的,在本篇不再赘述,有机会我会在其他文章中说 ...
- JavaScript实现最小公倍数LCM算法(附完整源码)
JavaScript实现最小公倍数LCM算法(附完整源码) euclideanAlgorithm.js完整源代码 leastCommonMultiple.js完整源代码 euclideanAlgori ...
- light_oj 1236 求最小公倍数( lcm(a,b) )等于n的数对 素因数分解
light_oj 1236 求最小公倍数( lcm(a,b) )等于n的数对 素因数分解 H - Pairs Forming LCM Time Limit:2000MS Memory Lim ...
- VB计算最小公倍数和最大公约数1/2
VB计算最小公倍数和最大公约数 1.运行程序,输入参数,结果如下. 1.1 计算最小公倍数和最大公约数 1.2 清除 2.部分源代码 1.运行程序,输入参数,结果如下. 1.1 计算最小公倍数和最大公 ...
- 蓝桥杯算法训练合集十二 1.比较2.计算最小公倍数3.比赛安排4.潜伏者5.P0702
目录 1.比较 2.计算最小公倍数 3.比赛安排 4.潜伏者 5.P0702 1.比较 问题描述 给出一个n长的数列,再进行m次询问,每次询问询问两个区间[L1,R1],[L2,R2], 询问数列第L ...
- 最小公倍数HTML,HTML5 Web Worker多线程编程实例 -- 计算最小公倍数和最大共约数
注释详细,不多解释!请看代码!!! 简单交互页面 index.html Web worker 最小公倍数和最大共约数 body { font-family: "微软雅黑"; fon ...
- Problem B: 编写函数:求最大公约数gcd()和最小公倍数lcm() (Append Code) 山东科技大学 oj
题目描述 辗转相除法,也称欧几里得算法,是求最大公约数的算法.辗转相除法首次出现于欧几里得的<几何原本>(第VII卷,命题i和ii)中,而在中国则可以追溯至东汉出现的<九章算术> ...
最新文章
- 外媒:苹果自动驾驶裁员表明其AI战略发生巨变
- Jackson 注解 -- 自定义输出格式
- 转载:使用 GNU Libtool 创建库
- 将函数储存在模块中(2)
- C# 获取文件名和扩展名(后缀名)
- 【算法学习】1.渐进复杂性
- app界面设计规范及缺陷
- 印象笔记中可以使用html语言吗,印象笔记使用方法
- 网络实名认证接口认证形式有哪些?
- oracle数据库恢复aul_ORACLE恢复神器之ODU/AUL/DUL
- 2018秋季阿里实习生面试总结
- 九章量子计算机应用,“九章”量子计算机这么牛,到底有什么用?|【经纬低调分享】...
- 那些年我们没能bypass的xss filter[from wooyun]
- java ref传引用_java引用传递
- 反恐精英代码_游戏《反恐精英:全球攻势》《军团要塞2》源代码遭泄露
- 夏普电视能用鸿蒙吗,夏普电视怎么安装第三方软件,看电视直播教程
- 缺陷分析在软件项目中的实践
- 【FAQ】软件保护系统Themida常见问题集锦(二)—“Taggant信息”功能的用途是什么?
- 【学习笔记】pytorch迁移学习-猫狗分类实战
- 国科大学习资料--模式识别与机器学习(黄庆明)--第二次随堂测答案(期末必看)
热门文章
- android adbd分析,android6.0 adbd深入分析(三)adb root重启adbd流程
- tomcat的服务器目录在哪个文件夹,Tomcat目录结构详细介绍
- java项目打成war包,使用ide打包部署在tomcat中
- java static int count,static int bitCount(long i)
- 洛谷P3879 [TJOI2010] 阅读理解 哈希Hash解法
- qtextedit 默认文案_Qt设置QTextEdit和QLabel的字体颜色 | 学步园
- 三维重建:三维重建技术概述
- 二分法猜数计算机代码,求代码!!! 你输入一个1到1000内的数 随后电脑猜10次 好象要用什么二分法...
- 模拟任务调度算法 C语言 【留学生作业】
- 【算法】Quick Select