Pagini recente » Cod sursa (job #829459) | Cod sursa (job #472365) | Cod sursa (job #2636598) | Cod sursa (job #1868334) | Cod sursa (job #1465042)
#include <bits/stdc++.h>
using namespace std;
int a,n;
void solve(int64_t &x, int64_t &y, int a, int b){
if(!b)
x=1, y=0;
else{
solve(x,y,b,a%b);
int64_t aux=x;
x=y;
y=aux-y*(a/b);
}
}
int main() {
freopen("inversmodular.in","r",stdin);
freopen("inversmodular.out","w",stdout);
int64_t inv=0,ins;
scanf("%d%d",&a,&n);
solve(inv,ins,a,n);
if(inv<=0)
inv = n + inv % n;
printf("%lld",inv);
return 0;
}