
两个数求最大公约数和最小公倍数的方法和理解
发布日期:2021-05-07 17:51:40
浏览次数:12
分类:原创文章
本文共 649 字,大约阅读时间需要 2 分钟。
int GreatestCommonDivisor(int a, int b) { int t; if (a < b) { // 交换两个数,使大数放在a的位置上。 t = a; a = b; b = t; } while (b != 0) { // 利用辗转相除法,直到b为0为止。 t = a % b; a = b; b = t; } return a;} int LeastCommonMultiple(int a, int b) { int t = a * b / GreatestCommonDivisor(a, b); return t;}
- 反复a%b得到余数为0时候,就可以得到最大公约数,为什么呢,因为如下:(利用最大公约数不会超过小的那个数的性质)简单来说,被除数被分成了两坨,一坨可以被除数整除,一坨是余数,现在都可以被整除的玩意必然也可以被最后的最大公约数整除,所以只用找余数与除数的最大公因数,然后同理,余数与除数又分别成了被除数和除数,直至最后整除。
- 设两个数为ak bk
k为最大公约数 则最小公倍数为abk,因为最小公倍数m的意思就是m除以ak,bk分别得到的数不能再进行约下去了,而abk/ak=b,abk/bk=a,a和b根据最大公约数定义即第一步,是不能再相约了的,因此这个abk就是最小公倍数。
发表评论
最新留言
不错!
[***.144.177.141]2025年03月17日 23时00分19秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
poj 3660 (floyd)
2019-03-04
8086汇编语言21键电子琴
2019-03-04
找密码
2019-03-04
Python初级知识总结
2019-03-04
python|画图1(蛇)
2019-03-04
婚姻稳定匹配问题
2019-03-04
C++数据类型,运算符,注释
2019-03-04
C++语句,函数,标准输入输出
2019-03-04
平均年龄,,数字求和
2019-03-04
简单的字符串操作(注意要点)
2019-03-04
统计字符数
2019-03-04
C与C++区别
2019-03-04
原生 JS 封装的一些方法 【更新中...】
2019-03-04
Vue Element UI Upload 上传多张图片
2019-03-04
JS数据类型的判断
2019-03-04
Vue面试题总结
2019-03-04
实现一个简易Vue(三)Compiler
2019-03-04
仿小米商城(上)
2019-03-04
仿小米商城(下)
2019-03-04