Pagini recente » Cod sursa (job #1213877) | Cod sursa (job #423686) | Cod sursa (job #2270108) | Cod sursa (job #885861) | Cod sursa (job #1981676)
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cstring>
using namespace std;
ifstream in("inversmodular.in");
ofstream out("inversmodular.out");
#define ll long long
#define ui unsigned int
#define pb push_back
const int NMax = 2e5 + 5;
ll A,N;
ll euclid(ll,ll,ll&,ll&);
int main() {
in>>A>>N;
ll x,y,d;
d = euclid(A,N,x,y);
out<<x % N<<'\n';
in.close();out.close();
return 0;
}
ll euclid(ll a,ll b,ll& x,ll& y) {
if (b == 0) {
x = 1;
y = 0;
return a;
}
ll x0,y0,d;
d = euclid(b,a%b,x0,y0);
x = y0;
y = x0 + (a/b) * y0;
return d;
}