Pagini recente » Cod sursa (job #171505) | Cod sursa (job #1553863) | Monitorul de evaluare | Profil corneliuzuzu | Cod sursa (job #2053944)
#include <iostream>
using namespace std;
pair<int, int> euclidExtins(int a, int b){
if(b != 0){
auto x = euclidExtins(b, a % b);
return {x.second, x.first - (a / b) * x.second};
}
else{
return {1, 0};
}
};
int main() {
freopen("inversmodular.in", "r", stdin);
freopen("inversmodular.out", "w", stdout);
int n, p;
scanf("%d %d", &n, &p);
auto x = euclidExtins(n, p);
while(x.first < 0){
x.first += p;
}
printf("%d", x.first);
return 0;
}