快速幂与龟速乘
一、快速幂
1.算法原理
求 a b m o d p a^b\bmod p abmodp 的结果。
我们可以构造如下算法:
a b m o d p = { ( a b 2 ) 2 m o d p b is even a ( a b − 1 2 ) 2 m o d p b is odd a^b \bmod p=\begin{cases}(a^{\frac b 2})^2 \bmod p&\texttt{b is even}\\a(a^{\frac{b-1}2})^2 \bmod p&\texttt{b is odd}\end{cases} abmodp={ (a2b)2modpa(a2b−1)2modpb is even