Cod sursa(job #416597)
Utilizator | Data | 12 martie 2010 23:48:44 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include<stdio.h>
FILE *f,*g;
long long x,n;
inline long long lgput(long long x,long long n)
{ if(n==0) return 1;
else if(n%2) return (lgput(x,n/2)*lgput(x,n/2)*x)%1999999973;
else return (lgput(x,n/2)*lgput(x,n/2))%1999999973;
}
int main()
{ f=fopen("lgput.in","r"); g=fopen("lgput.out","w");
fscanf(f,"%lld%lld",&x,&n);
fprintf(g,"%lld",lgput(x,n));
fclose(g);
return 0;
}