Cod sursa(job #1509058)

Utilizator goalexboxerFMI Alexandru Ionascu goalexboxer Data 23 octombrie 2015 14:20:49
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<fstream>
#include<iostream>
using namespace std;
#define FIN "lgput.in"
#define FOUT "lgput.out"
#define MOD 1999999973

ifstream f(FIN);
ofstream g(FOUT);


long long pow(int x, int n)
{

    if(n == 0)
    {
        return 1;
    }
    else if(n == 1)
    {
        return x;
    }
    else if(n % 2 == 0)
    {
        return pow(x * x, n / 2) % MOD;
    }
    else
    {
        return x * pow(x * x, (n - 1) / 2) % MOD;
    }

}

long long n, p;

int main()
{
    f >> n;
    f >> p;
    g << pow(n, p);
}