Pagini recente » Cod sursa (job #1913011) | Cod sursa (job #944457) | Cod sursa (job #3263975) | Cod sursa (job #2339135) | Cod sursa (job #1236037)
#include <stdio.h>
using namespace std;
int a, n;
void euclid (long long &x, long long &y, int a, int b)
{
if (!b)
{
x=1;
y=0;
}
else
{
euclid(x,y,b,a%b);
long long aux=x;
x=y;
y=aux-y*(a/b);
}
}
int main()
{
long long inv = 0, ins;
freopen("inversmodular.in", "r", stdin);
freopen("inversmodular.out", "w", stdout);
scanf("%d %d", &a, &n);
euclid(inv, ins, a, n);
if (inv <= 0)
inv = n + inv % n;
printf("%lld\n", inv);
return 0;
}