快速幂模板

Posted bennettz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速幂模板相关的知识,希望对你有一定的参考价值。

以下代码输入a, b, p。会输出a的b次方再取余p。

#include <cstdio>
using namespace std;
int power(int a, int b, int p) {
    if (!b) return 1;
    long long t = power(a, b/2, p);
    if (b % 2 == 0) t = t * t % p;
    else t = t * t * a % p;
    return t;
}
int main () {
    int a, b, p;
    scanf("%d %d %d", &a, &b, &p);
    printf("%d\n", power(a, b, p));
    return 0;
}

 

以上是关于快速幂模板的主要内容,如果未能解决你的问题,请参考以下文章

51nod1113(矩阵快速幂模板)

数论——快速幂,模运算及快速幂求逆元

Luogu 题解 P1226 [模板] 快速幂||取余运算

poj 3070 Fibonacci (矩阵快速幂乘/模板)

Raising Modulo Numbers POJ 1995(快速幂模板)

快速幂基本模板