Cod sursa(job #2264012)

Utilizator alexnigaNiga Alexandru alexniga Data 19 octombrie 2018 18:55:05
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include    <iostream>
#include    <fstream>

using namespace std;

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

const int MOD = 1999999973;
long long s;
long long RidicareLogaritmica(long long a, long long x)
{   long long  y;
    if (x == 0)
        return 1;
    if (x == 1)
        return a % MOD;
    if (x % 2 == 0)
    {
        return RidicareLogaritmica((a * a) % MOD, x / 2);

    }
    else
    {
        return (a * RidicareLogaritmica(a, x - 1) ) % MOD;
    }

}

void Read()
{
    int N, P;
    f >> N >> P;
    g << RidicareLogaritmica(N, P);

}

int main()
{
    Read();
    return 0;
}