Cod sursa(job #2112734)

Utilizator dahaandreiDaha Andrei Codrin dahaandrei Data 23 ianuarie 2018 19:57:42
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <fstream>

using namespace std;

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

const long long MOD = 1999999973;

long long lgput(long long a, long long p){
  long long ret = 1;
  while (p){
    if (p & 1)
      ret *= a % MOD;
    a *= a % MOD;
    a %= MOD;
    ret %= MOD;
    p >>= 1;
  }

  return ret % MOD;
}

int main(){
  long long n, p;

  in >> n >> p;

  out << lgput(n, p);

  return 0;
}