Cod sursa(job #1921836)

Utilizator jurjstyleJurj Andrei jurjstyle Data 10 martie 2017 14:53:55
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>

using namespace std;

ifstream f("lgput.in");
ofstream g("lgput.out");

const long long mod = 1999999973;
long long N, P;

long long power(long long N, long long P)
{
    if (P == 0)
        return 1;
    if (P == 1)
        return N % mod;
    if (P % 2 == 1)
        return (N * power(N, P - 1)) % mod;
    return (power(N, P / 2) * power(N, P / 2)) % mod;
}

int main()
{
    f >> N >> P;
    g << power(N, P);
    f.close();
    g.close();
    return 0;
}