数论(五)—— 快速幂
快速幂用于快速求出 ak mod p 的结果(时间复杂度O(logk),其中 1 ≤ a,p,k ≤ 109)如果不用快速幂的话,就得循环做 a * a 共 k 次,如果 k = 1e9,那么就要乘109次,时间复杂度就太高了,所以我们要用快速幂解决此类问题。原理1)先预处理这些值:a20 mod p,a21 mod p,a22 mod p … … a2logk mod p2)组合出aK也就是把k拆成20,21…若干个2的次幂之和ak = a2x1·a2x2·… · a2xt = a2x1+2x