Cod sursa(job #2586217)

Utilizator sulzandreiandrei sulzandrei Data 20 martie 2020 00:01:10
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.45 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <utility>


using namespace std;

ifstream in("lgput.in");
ofstream out("lgput.out");
#define ull long long int

#define MOD 1999999973

ull logExp( ull x, ull n)
{

    if(n==1)
        return x;

    return (n%2)
           ? (x*logExp(x*x%MOD, (n-1)/2))%MOD
           : logExp((x*x)%MOD, n/2)%MOD;

}

int main ( )
{
    ull n,p;



    in>>n>>p;
    out<<logExp(n,p);


    return 0;
}