Cod sursa(job #200825)
| Utilizator | Data | 26 iulie 2008 21:08:00 | |
|---|---|---|---|
| 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,i;
long int aux,res=1;
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;
}
