Cod sursa(job #1766085)

Utilizator dareare14Daria Petca dareare14 Data 27 septembrie 2016 13:53:01
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>

using namespace std;

ifstream F ("lgput.in");
ofstream G ("lgput.out");

int N, P;

long long rezultat(long long n, long long p)
{
    if(p <= 1)
        return n;
    long long rez;
    if (p % 2 == 0)
    {
        rez = rezultat(n, p / 2);
        rez = (rez * rez) % 1999999973;
        return rez;
    }
    else
    {
        rez = (n * rezultat(n, p - 1)) % 1999999973;
        return rez;
    }
}

int main()
{
    F >> N >> P;
    G << rezultat(N, P);
    return 0;
}