Cod sursa(job #1126999)

Utilizator mirceadinoMircea Popoveniuc mirceadino Data 27 februarie 2014 10:46:04
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<cstdio>

using namespace std;

typedef long long int lld;
const int MOD = 1999999973;

void Read(),Print();

lld N,P;

lld ExpLog(lld B,lld E)
{
    if(E==0) return 1LL;
    if(E==1) return B;
    lld t=ExpLog(B,E/2);
    return ((t*t)%MOD*ExpLog(B,E%2))%MOD;
}

int main()
{
    Read();
    Print();

    return 0;
}

void Read()
{
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);

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

void Print()
{
    printf("%lld\n",ExpLog(N,P));
}