最大公约数
求两个数字间a,b的最大公约数gcd(a,b)和最小公倍数lcm(a,b),是很常见的数字计算问题,求除了最大公约数,自然就求除了最小公倍数,求解最大公约数有以下几种方法
l c m ( a , b ) = a / g c d ( a , b ) ∗ b lcm(a,b)=a/gcd(a,b)*b lcm(a,b)=a/gcd(a,b)∗b 小心计算a*b时溢出,所以先除后乘
质因数分解法
通过分解质因数得到a,b的所有质因子,然后求出最大公约数
辗转相除法(欧几里得算法)
辗转相除法又被称为欧几里得算法,是求两个数a,b间的最大公约数比较常用的算法。它的数学基础是 G C D ( a , b ) = G C D ( b , a m o d b ) GCD(a,b)=GCD(b,a mod b) GCD(a,b)=