裸体的快速幂
#include<bits/stdc++.h>
using namespace std;
long long a,b,c,p=1;
int main(){
cin>>a>>b>>c;
if(b==0){
cout<<1%c<<endl;
exit(0);
}
while(b!=0){
if((b&1)!=0)p=((p%c)*(a%c))%c;
b=b>>1;
a=((a%c)*(a%c))%c;
}
cout<<p<<endl;
}
裸体的快速幂
#include<bits/stdc++.h>
using namespace std;
long long a,b,c,p=1;
int main(){
cin>>a>>b>>c;
if(b==0){
cout<<1%c<<endl;
exit(0);
}
while(b!=0){
if((b&1)!=0)p=((p%c)*(a%c))%c;
b=b>>1;
a=((a%c)*(a%c))%c;
}
cout<<p<<endl;
}