快速幂实验

输入底数 a、指数 n(及可选模数),观察二进制快速幂的每一步计算过程。

理论概念

计算 a^n 时,若逐次乘 a 需要 O(n) 次乘法。快速幂利用 n 的二进制分解,将复杂度降为 O(log n)。

思路:n 写成二进制后,a^n = 连乘 a^(2^i),其中 n 的第 i 位为 1。每次将当前底数平方(a → a² → a⁴…),按 n 的位决定是否乘入结果。

若 n 的当前位为 1:结果 *= 当前底数;然后底数 *= 底数,n /= 2。

取模时在每步乘法后对模数取模即可,常用于大指数、组合数取模等。

算法实验
用户登录
微信客服

返回顶部