此题不能用1037题写法 :
#include<bits/stdc++.h> using namespace std; int main( ) { long long i,j,k=0,n,s=0,m=1; cin>>n; for(i=1;i<=n;i++) { m=m*2; } cout<<m; }
(不然会溢出)
#include<bits/stdc++.h> using namespace std; int main( ) { long long a,b,m,s=1,i,x,y; cin>>a>>b>>m; while(b>0) { if(b%2==1) { s=s*a%m;//%m为了不溢出 } a=a*a%m; //例:2的2次方=4;4*4=16;16=2的4次方。更快(%m同理) b=b/2; } cout<<s; }