Cod sursa(job #1497527)
Utilizator | Data | 6 octombrie 2015 22:00:25 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.49 kb |
#include<stdio.h>
FILE *fin,*fout;
long long int n,p;
long long int lgput(long long int ba,long long int po)
{
if(po==1)
{
return ba;
}
else if(po==0)
{
return 1;
}
long long int val=lgput(ba,po/2);
return (((val*val)%1999999973)*(lgput(ba,po%2)%1999999973));
}
int main()
{
fin=fopen("lgput.in","r");
fout=fopen("lgput.out","w");
fscanf(fin,"%lld %lld",&n,&p);
fprintf(fout,"%lld",(lgput(n,p)%1999999973));
}