Cod sursa(job #173329)
Utilizator | Data | 7 aprilie 2008 17:28:25 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
#include<stdio.h>
long n,p;
const long m=1999999973;
int power ()
{ int r=1;
while (p>0)
{ if (p%2==1) r=(r*n)%m;
n=(n*n)%m;
p/=2;
}
return r;
}
int main ()
{ FILE*f=fopen("lgput.in","r");
FILE*g=fopen("lgput.out","w");
fscanf(f,"%ld%ld",&n,&p);
fprintf(g,"%d\n",power());
fcloseall();
return 0; }