Pagini recente » Cod sursa (job #2439848) | Cod sursa (job #1220748) | Cod sursa (job #1073053) | Cod sursa (job #596542) | Cod sursa (job #1897059)
#include <cstdio>
#define f stdin
#define g stdout
using namespace std;
void gcd(long long &in,long long &il,int a,int b)
{
if(!b)
{
in=1;
il=0;
}
else
{
gcd(in,il,b,a%b);
long long au=in;
in=il;
il=au-il*(a/b);
}
}
int main()
{
long long in=0,il;
int n,p;
freopen("inversmodular.in","r",f);
freopen("inversmodular.out","w",g);
scanf("%d %d",&n,&p);
gcd(in,il,n,p);
if(in<0)in=p+in%p;
printf("%lld",in);
return 0;
}