Cod sursa(job #200824)
Utilizator | Data | 26 iulie 2008 21:02:44 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <stdio.h>
#define in_file "lgput.in"
#define out_file "lgput.out"
#define imp 1999999973
int main (){
int N,P,res=1,i,aux;
FILE *f=fopen(in_file,"rt");
fscanf(f,"%d %d",&N,&P);
fclose(f);
aux=N;
for (i = 0; i<32;i++){
if(P &(1<<i) ){
res=(res*aux)%imp;
}
aux=(aux*aux)%imp;
}
FILE *g=fopen(out_file,"wt");
fprintf(g,"%d",res);
fclose(g);
return 0;
}