Pagini recente » Cod sursa (job #1558551) | Cod sursa (job #2614556) | Diferente pentru problema/basket intre reviziile 8 si 9 | Cod sursa (job #2658931) | Cod sursa (job #2978867)
//#include <iostream>
#include <fstream>
using namespace std;
ifstream cin("inversmodular.in");
ofstream cout("inversmodular.out");
void invu(int a, int b, int &inv, int & inc) {
if(!b) {
inv = 1, inc = 0;
}
else {
invu(b, a % b, inv, inc);
int aux = inv;
inv = inc;
inc = aux - inc * (a / b);
}
}
int main()
{
int a, b, inv, inc;
cin >> a >> b;
invu(a, b, inv, inc);
if(inv > 0) cout << inv;
else cout << (inv + b) % b;
}