Cod sursa(job #568614)
Utilizator | Data | 31 martie 2011 15:21:20 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include<stdio.h>
long long N,K,M,rez;
int main()
{
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
scanf("%lld%lld",&N,&K);
M=N;
rez=1;
for(int i=0;1LL*(1<<i)<=K;++i)
{
if((1<<i)&K)
{//printf("%d\n",i);
rez*=M;
rez%=1999999973;
}
M*=M;
M%=1999999973;
}
printf("%lld",rez);
}