Cod sursa(job #1252710)

Utilizator laurenttlaurentiu pavel laurentt Data 31 octombrie 2014 04:48:22
Problema Ridicare la putere in timp logaritmic Scor 10
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;

  int num = 1;
  int 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;
}