Pagini recente » Cod sursa (job #1716043) | Cod sursa (job #1855571) | Cod sursa (job #1271126) | Cod sursa (job #2724554) | Cod sursa (job #3148482)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
pair<int,int> cmmdc(int a, int b) {
if (b==0) {
return make_pair(1,0);
}
pair<int,int> p = cmmdc(b, a%b);
int c=a/b;
return make_pair(p.second, p.first-c*p.second);
}
int cmmdcnor(int a, int b) {
if (b==0) {
return a;
}
return cmmdcnor(b,a%b);
}
int main()
{
int A, N;
fin >> A >> N;
pair<int,int>rasp=cmmdc(A,N);
while(rasp.first<0) {
rasp.first += N;
}
fout << rasp.first;
return 0;
}