Pagini recente » Cod sursa (job #1107176) | Monitorul de evaluare | Cod sursa (job #1862307) | Cod sursa (job #358504) | Cod sursa (job #2290597)
#include <cstdio>
using namespace std;
void solve (int a,int b,long long &x,long long &y){
if (!b){
x=1;
y=0;
return;
//return a;
}
long long xa,ya;
solve (b,a%b,xa,ya);
x=ya;
y=xa-(a/b)*ya;
//return d;
}
int main()
{
FILE *fin=fopen ("inversmodular.in","r");
FILE *fout=fopen ("inversmodular.out","w");
int a,n;
long long x,y;
fscanf (fin,"%d%d",&a,&n);
solve (a,n,x,y);
fprintf (fout,"%lld",(x+n)%n);
return 0;
}