Cod sursa(job #553439)

Utilizator juniorOvidiu Rosca junior Data 14 martie 2011 04:02:04
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.33 kb
#include <fstream>

using namespace std;

ifstream fi("lgput.in");
ofstream fo("lgput.out");
int m = 1999999973, n, p, r;
long long putere;

int main() {
  fi >> n >> p;
  for (putere = n, r = 1; p > 0; p >>= 1) {
    if (p & 1)
      r = r * putere % m;
    putere = putere * putere % m;
  }
  fo << r;
  return 0;
}