Cod sursa(job #2152269)

Utilizator CammieCamelia Lazar Cammie Data 5 martie 2018 13:20:57
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>

#define mod1 1999999973

using namespace std;

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

inline int Ridicare(int baza, int put) {
    int sol = 1;
    while (put) {
        if (put & 1) {
            put--;
            sol = (1LL * sol * baza) % mod1;
        }
        put >>= 1;
        baza = (1LL * baza * baza) % mod1;
    }
    return sol % mod1;
}

inline void Read() {
    int baza, put;

    fin >> baza >> put;

    fout << Ridicare(baza, put) % mod1;
}

int main () {
    Read();

    fin.close(); fout.close(); return 0;
}