chap 1-4 数论算法-欧几里得算法
1. 辗转相除法(Euclid’s algorithm)
有了模运算,我们可以利用它解决不少关于数字的问题。其中,最为著名的问题当属求解两个数的最大公因数(gcd, greatest common divisor)。最容易想到的方法就是,先对两数分别做质因数分解(factoring),然后将它们相同的质因子相乘得到结果。如:$1035=3^3\cdot 5\cdot 23,759=3\cdot 11\cdot 23,gcd(1035,759)=3\cdot 23=69$。不幸的是:
目前还没有足够高效的分解质因数的算法。