Cod sursa(job #2074706)

Utilizator savigunFeleaga Dragos-George savigun Data 24 noiembrie 2017 21:57:26
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <iostream>
#include <fstream>
using namespace std;

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

const int MOD = 1999999973;

int pow(int a, long long n) {
    if (n == 0) return 1;
    a %= MOD;
    if (n % 2 == 0) return pow(((long long)a * a) % MOD, n / 2) % MOD;
    return (a * pow(a, n - 1)) % MOD;
}

int main()
{
    long long a, n;
    in >> a >> n;

    a %= MOD;
    out << pow(a, n);

    return 0;
}