Pagini recente » Cod sursa (job #770136) | Cod sursa (job #885449) | Cod sursa (job #2362050) | Cod sursa (job #2456201) | Cod sursa (job #2132290)
#include <cstdio>
#define ll long long
using namespace std;
ll a,n;
void Read()
{
freopen("inversmodular.in","r",stdin);
scanf("%lld%lld",&a,&n);
}
inline void cmmdc(ll a,ll b,ll &x,ll &y)
{
if (b==0)
{
x=1;
y=0;
}
else
{
cmmdc(b,a%b,x,y);
ll aux=x;
x=y;
y=aux-y*(a/b);
}
}
void Write()
{
ll inv,y;
freopen("inversmodular.out","w",stdout);
cmmdc(a,n,inv,y);
if (inv<0) inv=inv%n+n;
printf("%lld",inv);
}
int main()
{
Read();
Write();
return 0;
}