(模板)快速幂

Posted xiaozezz

tags:

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

—————————————————————————————————————————————————— —————————————————————前排护眼——————————————————————— ——————————————————————————————————————————————————

#include<bits/stdc++.h>
using namespace std;

long b,p,k,ans=1;
long x,y,z;

int main(){
    cin>>b>>p>>k;
    x=b;y=p;z=k;
    
    while(y>1){
        if(y%2==0){
            x*=x;
            y/=2;
            x%=z;
        }
        else{
            ans*=x;
            ans%=z;
            x*=x;
            y/=2;
            x%=z;
        }
    }
    ans*=x;
    ans%=z;
    cout<<ans<<endl;
}

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

快速幂和矩阵快速幂模板

快速幂介绍及其模板

模板之矩阵快速幂(luogu P3390模板矩阵快速幂)

LuoguP3390|模板矩阵快速幂|板子

快速幂模板

快速幂模板