Cod sursa(job #158053)
Utilizator | Data | 13 martie 2008 13:47:26 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.32 kb |
#include <stdio.h>
long power(long x,long p){
if(p==0) return 1;
if(p%2==1) return x*power(x*x,(p-1)/2);
return power(x*x,p/2);
}
int main(){
FILE *f=fopen("lgput.in","r");
long n,p;
fscanf(f,"%ld",&n);
fscanf(f,"%ld",&p);
FILE *g=fopen("lgput.out","w");
long x=power(n,p);
fprintf(g,"%ld\n",x%1999999973);
fclose(g);
return 0;
}