Pagini recente » Cod sursa (job #3347571) | Cod sursa (job #1497933) | Cod sursa (job #76988) | Cod sursa (job #737570) | Cod sursa (job #3311976)
#include <fstream>
using namespace std;
void euclid_e(int a, int b, int &x, int &y, int &d)
{
if (b == 0)
{
d = a;
x = 1;
y = 0;
return;
}
int x_, y_, q = a / b;
euclid_e(b, a % b, x_, y_, d);
x = y_;
y = x_ - q * y_;
}
int main()
{
ifstream in("inversmodular.in");
ofstream out("inversmodular.out");
int a, n;
in >> a >> n;
int x, y, d;
euclid_e(a, n, x, y, d);
x %= n;
if (x < 0)
{
x += n;
}
out << x << "\n";
in.close();
out.close();
return 0;
}