Cod sursa(job #2449026)

Utilizator uvIanisUrsu Ianis Vlad uvIanis Data 17 august 2019 21:26:00
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.41 kb
#include <fstream>
#define mod %
size_t lgput(size_t x, size_t p){
    if(p == 1) return x;
    if(p == 0) return 1;

    return ((lgput(x, p / 2) mod 1999999973 * lgput(x, p / 2) mod 1999999973) mod 1999999973 * lgput(x, p mod 2)) mod 1999999973;
}
int main()
{
   std::ifstream fin("lgput.in");
   std::ofstream fout("lgput.out");

   size_t N, P;

   fin >> N >> P;

   fout << lgput(N, P);
}