二进制快速幂(又称“平方-乘法 / exponentiation by squaring”):一种高效计算幂 \(a^n\) 的算法,利用指数 \(n\) 的二进制表示,通过反复“平方”并在需要时“乘上当前底数”,将时间复杂度从朴素的 \(O(n)\) 降到 \(O(\log n)\)。常用于模幂(如 \(a^n \bmod m\))与密码学、竞赛编程中。
/ˈbaɪnəri ɪkˌspoʊnənʃiˈeɪʃən/
Binary exponentiation computes \(a^n\) in \(O(\log n)\) time.
二进制快速幂能在 \(O(\log n)\) 时间内计算 \(a^n\)。
In cryptography, binary exponentiation is often used to compute modular powers efficiently without overflow.
在密码学中,二进制快速幂常用于高效计算模幂,从而避免溢出并提升速度。
binary 源自拉丁语 bini(“两个一组、成对的”),强调“以 2 为基础/二进制”。exponentiation 来自 exponent(指数),而 exponent 源于拉丁语 exponere(“展示、放出”);在数学里“指数”用来“展示”幂的次数。该术语合起来强调:用“二进制思路”来做“幂运算”。