Pagini recente » Cod sursa (job #3191028) | Cod sursa (job #2287689) | Cod sursa (job #86735) | Cod sursa (job #2099654) | Cod sursa (job #2150974)
#include <bits/stdc++.h>
void gcd(long long &x, long long &y, int a, int b){
if(!b) x = 1, y = 0;
else{
gcd(x, y, b, a % b);
long long aux = x;
x = y;
y = aux - y * (a / b);
}
}
int main(){
FILE*fi,*fo;
fi = fopen("inversmodular.in","r");
fo = fopen("inversmodular.out","w");
long long x, y;
int a, n;
fscanf(fi,"%d%d", &a, &n);
gcd(x, y, a, n);
if(x < 0) x = n + (x % n);
fprintf(fo,"%lld", x);
fclose(fi);
fclose(fo);
return 0;
}