Pagini recente » Cod sursa (job #2946595) | Cod sursa (job #37167) | Cod sursa (job #2988203) | Cod sursa (job #2204333) | Cod sursa (job #978384)
Cod sursa(job #978384)
#include <cstdio>
using namespace std;
void euclid (int a, int b, int &x, int &y) {
if (!b) {
x = 1;
y = 0;
return;
}
int x0, y0;
euclid (b, a % b, x0, y0);
x = y0;
y = x0 - a / b * y0;
}
int main () {
freopen ("inversmodular.in", "r", stdin);
freopen ("inversmodular.out", "w", stdout);
int a, b, x, y;
scanf ("%d%d", &a, &b);
euclid (a, b, x, y);
if (x < 0)
x += (-x / b + 1) * b;
printf ("%d", x);
}