Cod sursa(job #1383016)

Utilizator addy01adrian dumitrache addy01 Data 9 martie 2015 20:19:04
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <iostream>
#include <fstream>
using namespace std;

const int MOD = 1999999973;

long long lgpow(long long x,long long p)
{
    if(p==0)
        return 1;
    if(p==1)
        return x%MOD;
    if(p%2==0)
        return ((1LL*x*x)%MOD,p/2)%MOD;
    else
        return (1LL*x*lgpow((1LL*x*x)%MOD,(p-1)/2))%MOD;


}

int main()
{
    ifstream in("lgput.in");
    ofstream out("lgput.out");
    long long N,P;
    in>>N>>P;
    out<<lgpow(N,P);

    return 0;
}