Pagini recente » Cod sursa (job #942744) | Borderou de evaluare (job #1585890) | Cod sursa (job #1647541) | Cod sursa (job #1206363) | Cod sursa (job #1958083)
#include <cstdio>
using namespace std;
typedef long long ll;
ll a, n, d, x, y;
ll gcd(ll a, ll b, ll &x, ll &y)
{
if(!b)
{
x = 1, y = 0;
return a;
}
ll x1, y1;
ll d = gcd(b, a%b, x1, y1);
x = y1;
y = x1 - (a / b) * y1;
return d;
}
int main()
{
scanf("%lld%lld", &a, &n);
d = gcd(a, n, x, y);
if(x <= 0)
x = n + x % n;
printf("%lld", x);
return 0;
}