Cod sursa(job #2009213)

Utilizator Stefan_RaduStefan Radu Stefan_Radu Data 8 august 2017 22:41:44
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <fstream>

using namespace std;

ifstream cin ("lgput.in");
ofstream cout ("lgput.out");

const int MOD = 1999999973;

long long raise(long long n, long long p) {
  long long sol = 1;
  
  while (p) {
    if (p & 1) {
      sol *= n;
      sol %= MOD;
    }
    n *= n;
    n %= MOD;
    p >>= 1;
  }

  return sol;
}

int main() {
  long long n, p, sol = 1;
  cin >> n >> p;

  cout << raise(n, p) << '\n';
}