求 a的 b次方对 取模的值。
输入格式
三个整数 a,b,p,在同一行用空格隔开。
输出格式
输出一个整数,表示a^b mod p
的值。
数据范围
0≤a,b≤10^9
1≤p≤10^9
输入样例:
3 2 7
输出样例:
2
快速幂 具体了解文章
快速幂算法(全网最详细地带你从零开始一步一步优化)-CSDN博客
#include<iostream>
using namespace std;
long long a,b,p;
long long f(long long base,long long mod)
{
long long res = 1;
while(b)
{
if(b & 1)
{
res = res * base % mod;
}
b >>= 1;
base = base * base % mod;
}
return res;
}
int main()
{
cin >> a >> b >> p;
long long ans = f(a,p);
if(p == 1)cout << 0;
else cout << ans;
return 0;
}