Pagini recente » Cod sursa (job #2381178) | Cod sursa (job #1219474) | Cod sursa (job #2455923) | Cod sursa (job #2328309) | Cod sursa (job #530210)
Cod sursa(job #530210)
#include <fstream>
using namespace std;
ifstream in ("inversmodular.in");
ofstream out ("inversmodular.out");
int a, n;
void euclid (int a, int b, int& x, int& y, int& d) {
if (b == 0) {
x = 1;
y = 0;
d = a;
return;
}
int x1, y1, q = a / b;
euclid (b, a % b, x1, y1, d);
x = y1;
y = x1 - q * y1;
}
void citire () {
in >> a >> n;
}
void exe () {
int x, y, d;
euclid (a, n, x, y, d);
while (x < 0) {
x += n;
}
out << x << '\n';
}
int main () {
citire ();
exe ();
return 0;
}