Cod sursa(job #2618365)

Utilizator iancupoppPopp Iancu Alexandru iancupopp Data 24 mai 2020 18:45:28
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.43 kb
#include <fstream>

using namespace std;

const int MOD = 1999999973;

int lgput(int n, int p) {
  if (p == 0)
    return 1;
  if (p % 2 == 0)
    return lgput((long long) n * n % MOD, p / 2);
  return (long long) n * lgput((long long) n * n % MOD, (p - 1) / 2) % MOD;
}

int main() {
  ifstream in("lgput.in");
  ofstream out("lgput.out");
  
  int n, p;
  in >> n >> p;
  out << lgput(n, p);
  
  in.close();
  out.close();
  return 0;
}