AcWing寒假每日一题——Day25a^b

a b a^b ab

a a a b b b 次方对 p p p 取模的值。

输入格式
三个整数 a , b , p , a,b,p , a,b,p,在同一行用空格隔开。

输出格式
输出一个整数,表示 a b m o d p a^b mod p abmodp的值。

数据范围
0 ≤ a , b ≤ 1 0 9 0≤a,b≤10^9 0a,b109
1 ≤ p ≤ 1 0 9 1≤p≤10^9 1p109
输入样例:

3 2 7

输出样例:

2

分析: 套快速幂模板,没啥可说的。。。

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int a,b,p;
LL qmi(int a,int b,int p){
    
    
    LL res=1%p;
    while(b){
    
    
        if(b&1) res=res*a%p;
        b>>=1;
        a=a*(LL)a%p;
    }
    return res;
}
int main(){
    
    
    cin>>a>>b>>p;
    cout<<qmi(a,b,p)<<endl;
}

猜你喜欢

转载自blog.csdn.net/messywind/article/details/113662995