Algorithm Gossp (18) 最大公因数、最小公倍数、因式分解
2017-04-13 21:39
323 查看
前言
This Series aritcles are all based on the book 《经典算法大全》; 对于该书的所有案例进行一个探究和拓展,并且用python和C++进行实现; 目的是熟悉常用算法过程中的技巧和逻辑拓展。提出问题
Algorithm Gossi:p 最大公因数、最小公倍数、因式分解说明
关于数论基础的最大公因数和最小公倍数这里不加赘述,可以查看算法导论的推导。简单说明
其本质上基础理论是任何一个整数都能分解为质数的幂的乘积, 这里有两个特性- 1, 辗转相除法 (A, B) = (B, r ) 其中 A,B的最大公约数就是B和A,B相处余数的最大公约数
- 2, 最大公约数 * 最大公倍数 = A*B
分析和解释
代码
python 求最大公约数
def GCD(m,n): if n==0: return m return GCD(n, m%n)
python 求最小公倍数
def LCM(m,n): return m*n / (GCM(m,n))
拓展和关联
数论里面有很多可以缩减计算的方法, 有兴趣的可以看看。后记
参考书籍
《经典算法大全》维基百科
相关文章推荐
- 最大公因数,最小公倍数,因式分解(C/python略)
- 最大公因数、最小公倍数、因式分解
- 最大公因数、最小公倍数、因式分解(算法)
- 每日一算法:最大公因数、最小公倍数、因式分解
- Algorithm Gossip: 最大公因数、最小公倍数、因式分解
- 最大公因数、最小公倍数、因式分解
- 浅谈数论(一) 最大公因数与最小公倍数
- 浅谈数论(一) 最大公因数与最小公倍数
- C++三种方法求解两个数最大公因数和最小公倍数
- java之求两个输入数的最大公因数和最小公倍数
- 最大公因数与最小公倍数
- 最大公因数和最小公倍数
- 求最大公因数和最小公倍数
- 最大公因数最小公倍数
- 最小公倍数-最大公因数pat---L1-009
- 模板 2018-01-27 数论 最大公因数 最小公倍数 拓展欧几里得 GCD LCM 逆元
- 离散数学基础——(3)最大公因数与最小公倍数
- 最大公因数与最小公倍数
- NYOJ最大公因数最小公倍数
- vc++ 求两个数的最大公因数和最小公倍数