对于快速模幂,一般考虑用幂转换为二进制的形式,然后用(a*b)%c=(a%c)(b%c)%c这个公式推导
代码如下:
1 #include2 using namespace std; 3 4 int quick(int a,int b,int c) 5 { 6 if(b==0) 7 return 0; 8 int A=1; 9 int T=a%c;10 while(b!=0)11 {12 if(b&1)13 A=(A*T)%c;14 b>>=1;15 T=(T*T)%c;16 }17 return A;18 }19 int main()20 {21 int b,p,k;22 cin>>b>>p>>k;23 cout< <<"^"< <<" mod "<
<<"="<