Cod sursa(job #2710761)

Utilizator traiandobrinDobrin Traian traiandobrin Data 22 februarie 2021 23:23:18
Problema Invers modular Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>

using namespace std;
int MOD = (int)1e9 + 7;
ifstream cin("inversmodular.in");
ofstream cout("inversmodular.out");

int t, n;

int fact[100005], dist[100005];
int pozA[100005], pozB[100005], a[100005], b[100005];

int lgput(int n, int p) {
  int ans = 1, x = n;
  for(int i = 0; (1 << i) <= p; i++) {
    if((1 << i) & p)
      ans = 1LL * ans * x % MOD;
    x = 1LL * x * x % MOD;
  }
  return ans;
}

int inv(int n) {
  return lgput(n, MOD - 2);
}

int C(int n, int k) {
  if(n < k)
    swap(n, k);
  return 1LL * (1LL * fact[n] * inv(fact[n - k]) % MOD) * inv(fact[k]) % MOD;
}

int main() {
    int a,b,c;
    cin>>a>>b;
    MOD=b;
    cout<<inv(a);

  return 0;
}