Cod sursa(job #568614)

Utilizator LgregL Greg Lgreg 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);
}