本来本地调试的时候,没开long long样例过了,再交,结果是AC两个点,其它WA,于是我开了long long。本地调试显示样例不过,再交,还是AC前两个点。这样改了好几次,也交了好几次。改成如下形式后,样例依旧不过,但再交...直接AC。请问各位大佬,这份代码有什么问题?
#include<bits/stdc++.h>
using namespace std;
long long a,b;
long long p;
long long ans=1;
int main(){
cin>>a>>b>>p;
long long aa=a,bb=b;
while(b){
if(b&1){
ans=ans*a%p;
}
ans%=p;
a=a*a%p;
b>>=1;
}
ans%=p;
printf("%lld^%lld mod %lld=%lld",aa,bb,p,ans);
return 0;
}