Cod sursa(job #3142893)

Utilizator patrick_burasanPatrick Burasan patrick_burasan Data 25 iulie 2023 14:23:01
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>

using namespace std;

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

const int MOD = 1999999973;

int ExponentiereRapida(int n, int p) {
    int ans = 1;
    while (p > 0) {
        if ((p & 1) == 1) 
            ans = (1LL * ans * n) % MOD;
        n = (1LL * n * n) % MOD;
        p >>= 1;
    }
    return ans;
}

int main() {
    int n, p;
    fin >> n >> p;
    fout << ExponentiereRapida(n, p) << '\n';
    fin.close();
    fout.close();
    return 0;
}