Pagini recente » Rating Reuben James (5lydiac8522rh7) | Istoria paginii runda/simulare_oji_10_4/clasament | Cod sursa (job #2257556) | Istoria paginii runda/calcularea_aia/clasament | Cod sursa (job #3251231)
#include <bits/stdc++.h>
using namespace std;
typedef long long i64;
pair<int, int> extended_gcd(int a, int b) {
if (b == 0) {
return {1, 0};
}
pair<int, int> r = extended_gcd(b, a % b);
return {r.second, (r.first - a / b * r.second)};
}
int inv(int x, int MOD) {
int ans = extended_gcd(x, MOD).first;
if (ans < 0)
ans += MOD;
return ans;
}
int main() {
freopen("inversmodular.in", "r", stdin);
freopen("inversmodular.out", "w", stdout);
int N, M;
cin >> N >> M;
cout << inv(N, M);
}