Cod sursa(job #1675870)

Utilizator GinguIonutGinguIonut GinguIonut Data 5 aprilie 2016 16:55:06
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>

#define MOD 1999999973
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
int n, p;
long long lg_power(int nr, int exp)
{
    if(exp==0)
        return 1;

    if(exp%2==0)
    {
        long long half=lg_power(nr, exp/2);
        return (half*half)%MOD;
    }

    if(exp%2)
    {
        return (nr*lg_power(nr, exp-1))%MOD;
    }
}
int main()
{
    fin>>n>>p;
    fout<<lg_power(n, p);
    return 0;
}