跳到正文
信奥逐课

第 480 课

快速幂

🔵 基础 约 7 分钟

一句话理解

快速幂:二进制拆指数,O(log e)。

为什么要学

求 a^e % m。

讲解

底数平方,指数右移。

例子

long long qpow(long long a, long long e) {
    long long r = 1;
    while (e) {
        if (e & 1) r = r * a % MOD;
        a = a * a % MOD;
        e >>= 1;
    }
    return r;
}

和倍增一样拆二进制。

常见错误

练习 做完再看下一课

快速幂复杂度?

在线练习 C++ 在浏览器里编译,代码不会上传

Ctrl / ⌘ + Enter 运行 · Tab 缩进

输出
 

进度保存在本机浏览器里。

左右方向键也可翻课