Cod sursa(job #2972738)

Utilizator KRISTY06Mateiu Ianis Cristian Vasile KRISTY06 Data 30 ianuarie 2023 10:35:23
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>
using namespace std;

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

const int MODULO = 1999999973;

long long powerRising(int base, int power) {
    if (power == 0) {
        return 1;
    }
    long long result = powerRising(base, power / 2);
    if (power % 2 == 0) {
        return result * result % MODULO;
    }
    return ((long long) (result % MODULO) * (result % MODULO) % MODULO) * (base % MODULO) % MODULO;
}

int main() {
    int base, power;
    fin >> base >> power;
    fout << powerRising(base, power);
    return 0;
}