Pagini recente » Cod sursa (job #2163333) | Monitorul de evaluare | Borderou de evaluare (job #669078) | Cod sursa (job #2273928)
#include<stdio.h>
int pmod(int x,int p,int m){
long long y,z;
if(p==0)
return 1;
if(p & 1){
y=pmod(x,p>>1,m);
z=(y*y)%m;
z=(z*x)%m;
}
else{
y=pmod(x,p>>1,m);
z=(y*y)%m;
}
return (int)z;
}
int main(){
int N,P;
int m=1999999973;
FILE* f= fopen("lgput.in","rt");
FILE* g= fopen("lgput.out","wt");
fscanf(f,"%d %d",&N,&P);
int r=pmod(N,P,m);
fprintf(g,"%d\n",r);
fclose(g);
fclose(f);
return 0;
}