Pagini recente » Cod sursa (job #3282152) | Cod sursa (job #2612727) | Cod sursa (job #2652034) | Cod sursa (job #3217525) | Cod sursa (job #447255)
Cod sursa(job #447255)
#include <cstdio>
#define ll long long
int A, N;
void euclid(int A, int B, int &X, int &Y)
{
if ( !B )
X = 1, Y = 0;
else
{
euclid(B, A % B, X, Y);
int aux = X;
X = Y;
Y = aux - Y * (A / B);
}
}
int main()
{
int inv = 0, ins;
freopen("inversmodular.in", "r", stdin);
freopen("inversmodular.out", "w", stdout);
scanf("%d %d", &A, &N);
euclid(A, N, inv, ins);
if (inv <= 0)
inv = N + inv % N;
printf("%d", inv);
return 0;
}