Cod sursa(job #1105079)
Utilizator | Data | 11 februarie 2014 14:03:43 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include <stdio.h>
#include <string.h>
int main()
{
FILE *fp;
int i;
long long N,P,R;
fp=fopen("lgput.in","r");
fscanf(fp,"%lld%lld",&N,&P);
fclose(fp);
R=1;
for(i=0;(1<<i)<=P;++i)
{
if(((1<<i)&P)>0)
R=(R*N)%1999999973;
N=(N*N)%1999999973;
}
fp=fopen("lgput.out","w");
fprintf(fp,"%lld\n",R);
fclose(fp);
return 0;
}