最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。a,b的最大公约数记为(a,b),同样的,a,b,c的最大公约数记为(a,b,c),多个整数的最大公约数也有同样的记号。求最大公约数有多种方法,常见的有质因数分解法、短除法、辗转相除法、更相减损法。与最大公约数相对应的概念是最小公倍数,a,b的最小公倍数记为[a,b]。
以上为概念,为什么讲这个问题呢?请看这里...https://www.codewars.com/kata/54d7660d2daf68c619000d95/train/javascript
下面只说几个常用的实现思路:
- 通过程序轮询获得最大公约数(在不知道算法的情况下...)
- 辗转相除法(欧几里得算法)
- 辗转相减法(更相减损法)
普通轮询
function gcd(a,b){
var div = 1,max = Math.max(a,b),min = Math.min(a,b);
for(let i=1;i