Pagini recente » Cod sursa (job #3239284) | Cod sursa (job #1720937) | Cod sursa (job #1431674) | Cod sursa (job #626265) | Cod sursa (job #3206567)
#include <iostream>
#include <fstream>
void euclid(int a, int b, int &d, int &x, int &y) {
if (b == 0) {
d = a;
x = 1;
y = 1;
}
else {
int x1, y1;
euclid(b, a%b, d, x1,y1);
x = y1;
y = x1 - a / b * y1;
}
}
int main() {
std::ifstream ifile("inversmodular.in");
std::ofstream ofile("inversmodular.out");
int a, n;
ifile >> a >> n;
int x, y, d;
euclid(a, n, d, x, y);
while (x < 0) {
x += n;
}
ofile << x;
}