Pagini recente » Cod sursa (job #449211) | Cod sursa (job #1663509) | Cod sursa (job #1205503) | Cod sursa (job #100431) | Cod sursa (job #668024)
Cod sursa(job #668024)
#include<cstdio>
using namespace std;
struct sol
{
int x,y;
}p;
int A,N;
void read(),solve(),cmmdc(int,int,sol &p);
int main()
{
read();
solve();
return 0;
}
void read()
{
freopen("inversmodular.in","r",stdin);
freopen("inversmodular.out","w",stdout);
scanf("%d%d",&A,&N);
}
void solve()
{
cmmdc(A,N,p);
while(p.x<0)p.x+=N;
printf("%d\n",p.x);
}
void cmmdc(int x,int y,sol &p)
{
if(!y)
{
p.x=1;p.y=0;
return ;
}
sol q;
cmmdc(y,x%y,q);
p.x=q.y;p.y=q.x-(x/y)*q.y;
}