Pagini recente » Cod sursa (job #1995797) | Cod sursa (job #2094377) | Cod sursa (job #945930) | Cod sursa (job #1598099) | Cod sursa (job #976070)
Cod sursa(job #976070)
#include<stdio.h>
using namespace std;
typedef long long ll;
int a,n;
ll x,y;
void read()
{
scanf("%d%d",&a,&n);
}
void gcd(int a,int b,ll &x,ll &y)
{
if(b==0) {x=1; y=0; return;}
ll x0,y0;
gcd(b,a%b,x0,y0);
x=y0;
y=x0-(a/b)*y0;
}
void solve()
{
gcd(a,n,x,y);
while(x<=0) x+=n;
printf("%lld",x);
}
int main()
{
freopen("inversmodular.in","r",stdin);
freopen("inversmodular.out","w",stdout);
read();
solve();
fclose(stdin);
fclose(stdout);
return 0;
}