给出3个正整数A B C,求A^B Mod C。
例如,3 5 8,3^5 Mod 8 = 3。
输入
3个正整数A B C,中间用空格分隔。(1 <= A,B,C <= 10^9)
输出
输出计算结果
输入样例
3 5 8
输出样例
3
可以或是一道快速模幂的裸题 概念就看链接吧 很简单 就是要注意数值范围 会不会溢出
#include<iostream>
using namespace std;
typedef long long ll;
ll Multip(ll a,ll b,ll c){
ll ans = 1;
a%=c;
while(b > 0){
if(b%2==1){
ans=(ans*a)%c;
}
b/=2;
a=a*a%c;
}
return ans;
}
int main()
{
ll a,b,c;
ll ans;
scanf("%d%d%d",&a,&b,&c);
ans = Multip(a,b,c);
printf("%d\n",ans);
return 0;
}