Pagini recente » Cod sursa (job #3031957) | Cod sursa (job #1813705) | Cod sursa (job #2730380) | Cod sursa (job #3174947) | Cod sursa (job #1340511)
#include <fstream>
using namespace std;
void euclid(int x, int * y, int n, int * m);
int main(){
ifstream in("inversmodular.in");
int x, y, n, m;
in >> x >> n;
euclid(x, &y, n, &m);
ofstream out("inversmodular.out");
out << (y % n + n) % n;
return 0;
}
void euclid(int x, int * y, int n, int * m){
if (x == 0){
*y = 0;
*m = 1;
}
else{
int y0, m0;
euclid(n % x, &y0, x, &m0);
*m = y0;
*y = m0 - (n - (n % x)) / x * y0;
}
}