Cod sursa(job #2923545)

Utilizator Edyci123Bicu Codrut Eduard Edyci123 Data 15 septembrie 2022 17:42:19
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <bits/stdc++.h>
#define INFILE "lgput.in"
#define OUTFILE "lgput.out"
#define MOD 1999999973

using namespace std;

ifstream f(INFILE);
ofstream g(OUTFILE);

int nr1, nr2;

int lgput(int nr1, int nr2) {
    if (nr2 == 0)
        return 1;

    if (nr2 % 2 == 0) {
        return lgput(1LL * nr1 * nr1 % MOD, nr2 / 2);
    } else {
        return 1LL * nr1 * lgput(nr1, nr2 / 2) % MOD;
    }

}

int main() {

    f >> nr1 >> nr2;

    g << lgput(nr1, nr2);

    return 0;
}