Pagini recente » Cod sursa (job #2881647) | Cod sursa (job #653685) | Cod sursa (job #649289) | Cod sursa (job #980904) | Cod sursa (job #1892655)
#include <iostream>
#include <cstdio>
#define ll long long
using namespace std;
///Euclid extins si x e a-1
///^^^^^^^^^^^^^^^^^^^^^^^^
long long a, n, k, l;
void EuclidExtins(ll a, ll b, ll &k, ll &l)
{
if(b==0)
k=1, l=0;
else
{
long long kp, lp;
EuclidExtins(b, a%b, kp, lp);
k=lp;
l=kp-lp*(a/b);
}
}
void Citire()
{
freopen("inversmodular.in", "r", stdin);
freopen("inversmodular.out", "w", stdout);
scanf("%d %d", &a, &n);
EuclidExtins(a, n, k, l);
while(k<0)
k=n+k%n;
cout<<k;
}
int main()
{
Citire();
return 0;
}