快速幂是用来解决A^B mod C问题的。其时间复杂度可达到 logn
运用定理:积的取余等于取余的积的取余。(此代码就是再此基础上的)
#include<iostream>
#include<stdio.h>
typedef long long ll;
using namespace std;
int main(){
ll a,b,c;
scanf("%I64d%I64d%I64d",&a,&b,&c);
ll x=a%c,y=1;
while(b>0){
if(b%2==1)
y=(y*x)%c;
x=(x*x)%c;
b=b/2;
}
printf("%I64d",y);
return 0;
}