给出3个正整数A B C,求A^B Mod C。
例如,3 5 8,3^5 Mod 8 = 3。
Input
3个正整数A B C,中间用空格分隔。(1 <= A,B,C <= 10^9)
Output
输出计算结果
Sample Input
3 5 8
Sample Output
3
#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
ll a,b,c,ans;
void pow_fast(ll a,ll b,ll c){
ll ans=1;
a%=c;
while(b)
{
if(b&1) //判断是否为奇数
{
ans=(ans*a)%c;
}
a=(a*a)%c;
b>>=1;//右移一位相当于b/=2
}
cout<<ans<<endl;
}
int main()
{
cin>>a>>b>>c;
pow_fast(a,b,c);
return 0;
}