第一份代码用的cin和cout进行输入输出的,但只过了前两个样例。 第二份代码把输入输出改成scanf和printf就过了。。不理解。。
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main(){
ll a,b,c,d,p;
cin>>a>>b>>p;
c=a;d=b;
ll sum=1;
while(b>0){
if(b&1){
sum=sum*a%p;
}
a=a*a%p;
b=b>>1;
}
sum%=p;
cout<<c<<"^"<<d<<" mod "<<p<<"="<<a;
}
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main(){
ll a,b,c,d,p;
scanf("%lld%lld%lld",&a,&b,&p);
c=a;d=b;
ll sum=1;
while(b>0){
if(b&1){
sum=sum*a%p;
}
a=a*a%p;
b=b>>1;
}
sum%=p;
printf("%lld^%lld mod %lld=%lld",c,d,p,sum);
}