Cod sursa(job #488581)
Utilizator | Data | 29 septembrie 2010 14:36:43 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.29 kb |
#include <stdio.h>
int main() {
FILE *f,*g;
long p,n,m,nr;
int i;
f=fopen("lgput.in","r");
g=fopen("lgput.out","w");
fscanf(f,"%d%d",&n,&m);
p=n; nr=1;
for (i=0;(1<<i)<=m;i++,p=(p*p)%1999999973)
if ( (1<<i) & m) nr=(nr*p)%1999999973;
fprintf(g,"%ld",nr);
fclose(g);
return 0;
}