幂与余 | |
|
问题描述
给出三个整数A,B,C,求AB % C的值。
输入格式
三个空格间隔的整数A,B,C
输出格式
一个整数,表示最后的结果
样例输入
2 5 7
样例输出
4
提示
0<=A<=100
0<=B<=5000
0<C<=10000
#include<bits/stdc++.h>
using namespace std;
int f(int a,int b,int c){
int ans=1;
while(b!=0){
if(b&1!=0)
ans=ans*a%c;
a=a*a%c;
b>>=1;
}
return ans;
}
int main(){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
cout<<f(a,b,c)<<endl;
return 0;
}