Cod sursa(job #1159900)
Utilizator | Data | 29 martie 2014 22:49:09 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <stdio.h>
#include <stdlib.h>
int main()
{ FILE*fi,*fout;
int n,p,sol,a,i;
fi=fopen("lgput.in" ,"r");
fout=fopen("lgput.out" ,"w");
fscanf(fi,"%d %d" ,&n,&p);
a=n;
sol=1;
for(i=0;i<32;i++)
{
if(((1<<i)&p)>0)
sol=(sol*a)%1999999973;
a=(a*a)%1999999973;
}
fprintf(fout,"%d" ,sol);
fclose(fi);
fclose(fout);
return 0;
}