Cod sursa(job #2541822)

Utilizator KPP17Popescu Paul KPP17 Data 8 februarie 2020 22:37:14
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
using namespace std;



#define fisier "lgput"

#ifdef fisier
    #include <fstream>
    ifstream in(fisier ".in");
    ofstream out(fisier ".out");
#else
    #include <iostream>
    #define in cin
    #define out cout
#endif



#define ul unsigned long long

const ul
MOD = 1999999973;



ul putere(ul b, ul exp) {

    if (exp == 0)
        return 1;

    if (exp == 1)
        return b;

    ul rt = putere(b, exp / 2);

    rt *= rt;
    rt %= MOD;

    if (exp & 1) {

        rt *= b;
        rt %= MOD;

    }

    return rt;

}



int main() {ul n, p; in >> n >> p; out << putere(n, p);}

















//