Cod sursa(job #1015316)

Utilizator PsychoAlexAlexandru Buicescu PsychoAlex Data 24 octombrie 2013 13:04:08
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <fstream>

std::ifstream fin("lgput.in");
std::ofstream fout("lgput.out");

long long n, p;

void citire()
{
    fin>>n>>p;
}

long long exponent(long long baza, long long put)
{
    if(put)
    {
        if(put%2)
        {
            return baza * exponent(baza, put - 1) % 1999999973;
        }
        else
        {
            long long val = exponent(baza, put / 2);
            return val * val % 1999999973;
        }
    }
    else
    {
        return 1;
    }
}

void rezolvare()
{
    fout<<exponent(n, p)<<'\n';
}

int main()
{
    citire();
    rezolvare();
    return 0;
}