Pagini recente » Cod sursa (job #2989114) | Cod sursa (job #1909184) | Cod sursa (job #1882957) | Cod sursa (job #824960) | Cod sursa (job #2039045)
#include <bits/stdc++.h>
#include <cstdio>
using namespace std;
pair < long long, long long > euclid_extins(long long x, long long y)
{
if(y==0)
{
return {1,0};
}
auto p = euclid_extins(y, x%y);
long long d = x/y;
return {p.second, p.first-d*p.second};
}
long long divi(long long a, long long b)
{
long long r;
while(b)
{
r=a%b;
a=b;
b=r;
}
return a;
}
int main()
{
freopen("inversmodular.in", "r", stdin);
freopen("inversmodular.out", "w", stdout);
long long a, b;
scanf("%lld %lld", &a, &b);\
long long d = euclid_extins(a,b).first;
while(d < 0)
{
d+=b;
}
cout << d;
return 0;
}