Cod sursa(job #3264472)

Utilizator ShokapKaplonyi Akos Shokap Data 21 decembrie 2024 14:24:57
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <iostream>
#include <fstream>

const long long MOD = 1999999973;

long long hatvany(long long a, long long b){

    if(b == 1){
        return a%MOD;
    }
    if(b == 2){
        return a*a%MOD;
    }
    else if(b%2 == 0){
        return hatvany(hatvany(a, b/2), 2);
    }
    else {
        return hatvany(hatvany(a, b/2), 2) * a%MOD;
    }
}

int main(){

    std::ifstream input("lgput.in");
    std::ofstream output("lgput.out");

    long long a, b;
    input >> a >> b;

    output << hatvany(a%MOD, b);

    return 0;
}