Cod sursa(job #1509060)

Utilizator goalexboxerFMI Alexandru Ionascu goalexboxer Data 23 octombrie 2015 14:27:05
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 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) % MOD, n / 2) % MOD;
    }
    else
    {
        return x * pow((x * x) % MOD, (n - 1) / 2) % MOD;
    }

}

long long n, p;

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