Pagini recente » Cod sursa (job #222588) | Cod sursa (job #829029) | Cod sursa (job #241779) | Cod sursa (job #2490535) | Cod sursa (job #397665)
Cod sursa(job #397665)
#include<cstdio>
long long A,N;
void eucl(long long a,long long b,long long &x,long long &y,long long &d)
{
if(b==0)
{
x=1;
y=0;
d=a;
return ;
}
long long x1,y1;
eucl(b,a%b,x1,y1,d);
x=y1;
y=x1-(a/b)*y1;
}
int main()
{
freopen("inversmodular.in","r",stdin);
freopen("inversmodular.out","w",stdout);
scanf("%lld%lld",&A,&N);
long long x,y,d;
eucl(A,N,x,y,d);
if(x>0)
printf("%lld",x%N);
else printf("%lld",N+x%N);
return 0;
}