【学习笔记】简单数论-快速幂

发布时间 2023-08-18 16:54:02作者: The_Shadow_Dragon

luogu P1226 【模板】快速幂 | 取余运算

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define sort stable_sort
#define endl '\n'
ll qpow(ll a,ll b,ll p)
{
    ll ans=1;
    while(b>0)
    {
        if(b&1)
        {
            ans=ans*a%p;
        }
        b>>=1;
        a=a*a%p;
    }
    return ans%p;
}
int main()
{
    ll a,b,p;
    cin>>a>>b>>p;
    cout<<a<<"^"<<b<<" mod "<<p<<"="<<qpow(a,b,p);
    return 0;
}