Cod sursa(job #161967)
Utilizator | Data | 19 martie 2008 08:50:14 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.33 kb |
#include<stdio.h>
#define I "lgput.in"
#define O "lgput.out"
#define m 1999999973
long long n,p,s,f;
int main()
{
FILE *f=fopen(I,"r");
FILE *g=fopen(O,"w");
fscanf(f,"%lld%lld",&n,&p);
s=1;
f=n;
while(p)
{
if(p&1)
s=(s*f)%m;
f=(f*f)%m;
p/=2;
}
fprintf(g,"%lld",s);
fcloseall();
return 0;
}