为什么错了?
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
int a,b,p,ans=1;
cin>>a>>b>>p;
int n=a,m=b;
while(b>1)
{
if(b%2==0)
{
b/=2;
a=a*a;
}
else
{
b/=2;
ans*=a;
a=a*a;
ans%=p;
}
}
ans=ans*a%p;
cout<<n<<"^"<<m<<" mod "<<p<<"="<<ans<<endl;
return 0;
}