Cod sursa(job #929352)

Utilizator toranagahVlad Badelita toranagah Data 26 martie 2013 23:24:01
Problema Invers modular Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <algorithm>
#include <fstream>
#include <iostream>
using namespace std;

ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");

typedef long long int64;

inline int64 log_pow(int x, int p);

int A, N;

int main() {
  fin >> A >> N;
  fout << log_pow(A, N - 2);
  return 0;
}

inline int64 log_pow(int x, int pow) {
  int64 result = 1;
  for (int64 p = 1, log2_p = x; p <= pow; p *= 2) {
    if (p & pow) {
      result *= log2_p;
    }
    log2_p *= log2_p;
  }
  return result;
}