Cod sursa(job #2739344)

Utilizator ClotanPClotan Paul Ioan ClotanP Data 7 aprilie 2021 20:13:04
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream fin ("lgput.in");
ofstream fout("lgput.out");
int exponentiation(int element,int power){
    if(power < 1)
        return exponentiation(1/element, -power);
    if(power == 0)
        return 1;
    if(power == 1)
        return element;
    if(power %2 == 0)
        return exponentiation(element* element, power / 2);
    if(power %2 != 0)
        return element* exponentiation(element*element,(power-1)/2);
}

int main()
{
    int N,P;
    fin>>N>>P;
    cout<<N<<" "<< P;
    float result= exponentiation(N,P) % 1999999973;
    fout<< result;
    return 0;
}