Pagini recente » Cod sursa (job #21488) | Cod sursa (job #1084684) | Cod sursa (job #187305) | Cod sursa (job #529207) | Cod sursa (job #1558186)
#include<cstdio>
#include<algorithm>
using namespace std;
int r,d;
struct sp
{
int x,y;
};
sp euclid(int a,int b)
{
sp ans,tm;
int c;
if(b!=0)
{
c=a/b;
tm=euclid(b,a%b);
ans.x=tm.y;
ans.y=tm.x-tm.y*c;
return ans;
}
else
{
ans.x=1;
ans.y=0;
d=a;
return ans;
}
}
int main()
{
freopen("inversmodular.in","r",stdin);
freopen("inversmodular.out","w",stdout);
int t,q,a,b,r;
sp ans;
r=1;
scanf("%d%d",&a,&b);
if(b<a)
ans=euclid(a,b);
else
ans=euclid(b,a);
if(r%d!=0)
printf("0 0\n");
else
if(b<a)
printf("%d\n",(ans.x%b+b)%b);
else
printf("%d\n",(ans.y%b+b)%b);
return 0;
}