Cod sursa(job #2812210)

Utilizator MariusAndrei16Pricope Marius MariusAndrei16 Data 4 decembrie 2021 10:48:37
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream in("lgput.in");
ofstream out("lgput.out");

int N, P;
long long int result;

int RidicarePutere(int N, int P)
{
    if(P)
    {
        if(P % 2 != 0)
        {
            return N * RidicarePutere(N,P-1); 
        }
        else
        {
            return RidicarePutere(N,P/2) * RidicarePutere(N,P/2);
        }
    }

    return 1;
}


int main()
{
    in >> N >> P;
    out << RidicarePutere(N,P);
    return 0;
}