Cod sursa(job #2540770)

Utilizator tudorcioc5Cioc Tudor tudorcioc5 Data 7 februarie 2020 18:15:28
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>
#include <fstream>
using namespace std;



int log_exp (int base, int power){
    int to_return;

    if (power == 1) return base;

    switch ((int)power % 2){
        case 0:
            to_return = log_exp(base * base, power/2);
            break;

        case 1:
            to_return = base * (log_exp(base * base, power/2));
            break;
    }

    return to_return;
}


int main (void){
    int n,p;
    cin>>n>>p;
    int result = log_exp(n , p);
    cout<<(result % 1999999973)<<"\n";

    return 0;
}