Cod sursa(job #1163393)

Utilizator SRaduRadu Szasz SRadu Data 1 aprilie 2014 12:40:51
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <fstream>

using namespace std;

long long B, P;
const long long REST = 1999999973;

long long lgput(long long Base, long long Put) {
    long long Ans = 1;
    for(; Put; Put >>= 1) {
        if(Put & 1) {
            Ans = (Ans * Base) % REST;
        } Base = (Base * Base) % REST;
    } return Ans;
}

int main() {
    ifstream in("lgput.in");
    in >> B >> P;
    in.close();

    ofstream out("lgput.out");
    out << lgput(B, P) << "\n";
    out.close();
}