Pagini recente » Cod sursa (job #174628) | Cod sursa (job #1761878) | Cod sursa (job #2957046) | Cod sursa (job #191728) | Cod sursa (job #3125963)
#include <fstream>
using namespace std;
ifstream f("inversmodular.in");
ofstream g("inversmodular.out");
int A, N;
void gcd(int a, int b, int& x, int& y)
{
if (b == 0)
{
x = 1;
y = 0;
return;
}
int x0, y0;
gcd(b, a % b, x0, y0);
x = y0;
y = x0 - (a / b) * y0;
}
int main()
{
f >> A >> N;
int X, Y;
gcd(A, N, X, Y);
int inv = X % N;
if (inv < 0)
{
inv += N;
}
g << inv << '\n';
}