Cod sursa(job #1509063)

Utilizator goalexboxerFMI Alexandru Ionascu goalexboxer Data 23 octombrie 2015 14:29:03
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 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);
}