快速幂
快速幂
为了高效地计算一个数的幂,在计算a^b^时候,可以将时间复杂度由O(b)降低至O(logb)
快速幂算法的原理
快速幂算法的核心思想是利用指数的二进制展开和乘法的结合律。当我们计算 a^b^ 时,我们可以将指数 b分解为多个2的幂的和,例如:
其中 bi 要么是0,要么是1(因为这是二进制表示)。因此,我们可以将 a^b^ 分解为:
1 | public static long fastPower(long a, long b, long modulus) { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Czar!
评论
ValineDisqus