Cod sursa(job #2121452)

Utilizator Alex_BubBuburuzan Alexandru Alex_Bub Data 3 februarie 2018 18:12:39
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>

using namespace std;

ifstream fin("lgput.in");
ofstream fout("lgput.out");

const int MOD = 1999999973;

long long mod(long long m)
{
    return (m * m) % MOD;
}

long long pow(long long base, long long exponent)
{
    if(!exponent) return 1;
    if(exponent == 1) return base;
    return (!(exponent & 1)) ? mod(pow(base, exponent / 2)) : (base * mod(pow(base, exponent / 2))) % MOD;
}

int main()
{
    long long n, p;

    fin >> n >> p;

    fout << pow(n, p);

    return 0;
}