Cod sursa(job #690108)

Utilizator alexalbu95Albu Alexandru alexalbu95 Data 25 februarie 2012 11:02:26
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include <cstdio>

const char iname[]="lgput.in";
const char oname[]="lgput.out";

const int mod=1999999973;

long long n, p, sol=1, i;

int main()
{
    freopen(iname, "r", stdin);
    freopen(oname, "w", stdout);

    scanf("%lld %lld", &n, &p);

    for(i=0; (1<<i)<=p; ++i)
    {
        if(((1<<i) & p)>0) sol=(sol*n)%mod;

        n=(n*n)%mod;
    }

    printf("%lld\n", sol);
}