Pagini recente » Cod sursa (job #1905500) | Cod sursa (job #3259799) | Cod sursa (job #336423) | Cod sursa (job #399364) | Cod sursa (job #530209)
Cod sursa(job #530209)
#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);
out << (n + x % n) % n;
}
int main () {
citire ();
exe ();
return 0;
}