Cod sursa(job #2756645)

Utilizator stefan.ghenescu2005@gmail.comStefan Ghenescu [email protected] Data 2 iunie 2021 10:58:18
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>
#include <cmath>

using namespace std;

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

long long lgput(long long baza, long long exp)
{
    if(exp==0)
    {
        return 1;
    }
    if(exp%2==0)
    {
        long long putere=lgput(baza, exp/2);
        return putere*putere%1999999973;
    }
    else
    {
        return lgput(baza, exp-1)*baza%1999999973;
    }
}

int main()
{
    int n,p;
    in>>n>>p;
    out<<lgput(n,p);
}