Cod sursa(job #1252711)

Utilizator laurenttlaurentiu pavel laurentt Data 31 octombrie 2014 04:51:24
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.35 kb
#include<fstream>
using namespace std;
#define mod 1999999973

int main() {
  ifstream in("lgput.in");
  ofstream out("lgput.out");

  int N, P;
  in >> N;
  in >> P;

  long long num = 1, a = N;
  for(int i = 0; (1 << i) <= P; i++) {
    if(((1 << i) & P) != 0)
      num = (num * a) % mod;
    a = (a * a) % mod;
  }
  out << num << '\n';
  return 0;
}