Cod sursa(job #1679489)

Utilizator TudorVersoiuVersoiu Tudor Sorin TudorVersoiu Data 7 aprilie 2016 23:51:46
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream f("lgput.in" );
ofstream g("lgput.out");
#define MOD 1999999973

int N, P;

long long square(long long x) { return x*x; }

long long FastPow(int base, int exponent) {
    if ( exponent == 0 ) return 1;

    if ( exponent%2 == 0 )
        return square(FastPow(base, exponent/2)) % MOD;
    else
        return (base * FastPow(base, exponent-1)) % MOD;
}

int main() {
    f >> N >> P;

    g << FastPow(N, P);
}