Cod sursa(job #1323140)

Utilizator gabrielvGabriel Vanca gabrielv Data 20 ianuarie 2015 18:48:32
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <cstdio>

#define MOD 1999999973

using namespace std;

long long int LgPow(long long int N, long long int P)
{
    long long int S = 1;

    while(P)
    {
        if(P%2)
            S = (S*N)%MOD;

        N = (N*N)%MOD;
        P/=2;
    }

    return S;
}

int main()
{
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);

    long long int N,P,S;

    scanf("%lld%lld",&N,&P);

    S = LgPow(N,P);

    printf("%lld\n",S);

    return 0;
}