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