Cod sursa(job #3320324)

Utilizator domdiridomdidomDominik domdiridomdidom Data 4 noiembrie 2025 22:42:21
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.49 kb
#include <fstream>
#include <iostream>

// alap hatványraemelés: P*P
// ez a fajta hatványraemeles: P*log(P)

long long hatvany(int n, int p){
   if(p == 0)
      return 1;
   else if(p == 1)
      return n;

   long long rek = hatvany(n, p / 2);
   if(p % 2 == 0)
      return (rek * rek) % 1999999973;
   else
      return (rek * rek * n) % 1999999973;
}

int main()
{
   std::ifstream bem("lgput.in");
   std::ofstream kim("lgput.out");
   int n, p;
   bem >> n >> p;
   kim << hatvany(n, p);
}