Cod sursa(job #2270874)

Utilizator q1e123Solca Robert-Nicolae q1e123 Data 27 octombrie 2018 18:01:34
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>

#define MOD 1999999973

std::ifstream INPUT_FILE("lgput.in");
std::ofstream OUTPUT_FILE("lgput.out");

long long P,N,rez;

void rowRowFightThePower(long long k) {
    if(k){
        if(k%2){
            rez*=N%MOD;
            rowRowFightThePower(k-1);

        }else{
            N*=N%MOD;
            rowRowFightThePower(k/2);

        }

    }else return;

}

int main() {
    rez=1;
    INPUT_FILE>>N>>P;
    rowRowFightThePower(P);
    OUTPUT_FILE << rez;
    return 0;
}