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