Cod sursa(job #2759626)

Utilizator rusenmihai101@gmail.comMihai Rusen [email protected] Data 19 iunie 2021 12:58:41
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>
#include <algorithm>
#define MOD 1999999973
using namespace std;
using ll = long long;

const string name("lgput");
ifstream cin(name + ".in");
ofstream cout(name + ".out");

ll n, p;

ll put(ll baza, ll putere){
    if(!putere)
        return 1;
    if(putere % 2)
        return put(baza, putere / 2) * put(baza, putere / 2) % MOD * baza % MOD;
    return put(baza, putere / 2) * put(baza, putere / 2) % MOD;
}

int main(){

    cin >> n >> p;
    cout << put(n, p);

    return 0;
}