Cod sursa(job #657546)
Utilizator | Data | 6 ianuarie 2012 18:53:49 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.34 kb |
#include <stdio.h>
#include <stdlib.h>
int main()
{
long long n,p,k,i;
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
scanf("%lld %lld",&n,&p);
k=1;
for (i=0; (1<<i)<=p; i++)
{
if (((1<<i)&p)>0) k=(k*n)%1999999973;
n=(n*n)%1999999973;
}
printf("%lld\n",k);
}