Cod sursa(job #3160338)

Utilizator octavian202Caracioni Octavian Luca octavian202 Data 23 octombrie 2023 18:40:35
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.48 kb
#include <iostream>
#include <fstream>

#define ll long long

using namespace std;

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

const ll MOD = 1999999973;

ll putere(ll a, ll n) {
    ll res = 1;
    while (n != 0) {
        if (n % 2 == 1) {
            res = ((res % MOD) * (a % MOD)) % MOD;
        }
        a = ((a % MOD) * (a % MOD)) % MOD;
        n >>= 1;
    }
    return res;
}

int main() {

    ll a, n;
    fin >> a >> n;
    fout << putere(a, n);

    return 0;
}