Cod sursa(job #2069888)

Utilizator danny794Dan Danaila danny794 Data 18 noiembrie 2017 22:14:17
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include <cstdint>
#include <fstream>

#define MOD 1999999973

int64_t n, p;
std::ifstream cin("lgput.in");
std::ofstream cout("lgput.out");

int64_t power(int64_t n, int64_t p) {
  if (p == 0) {
    return 1;
  }
  int64_t result = power(n * n % MOD, p / 2);
  if (p % 2 == 1) {
    result = result * n % MOD;
  }
  return result;
}

int main() {
  cin >> n >> p;
  cout << power(n, p);
  return 0;
}