题目描述
给你三个整数 a,b,pa,b,p,求 a^b \bmod pabmodp。
输入格式
输入只有一行三个整数,分别代表 a,b,pa,b,p。
输出格式
输出一行一个字符串 a^b mod p=s
,其中 a,b,pa,b,p 分别为题目给定的值, ss 为运算结果。
输入输出样例
输入 #1复制
2 10 9
输出 #1复制
2^10 mod 9=7
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int a,b,p;
int ans;
ll quickpow(ll a,ll b)
{
ll sum = 1;
while(b)
{
if(b&1)
sum = sum * a % p;
a = a * a % p;
b>>=1;
}
return sum;
}
int main()
{
cin>>a>>b>>p;
ans = pow(a,b);
ans%=p;
printf("%d^%d mod %d=%d",a,b,p,quickpow(a,b));
return 0;
}