Pagini recente » Diferente pentru problema/serviciu intre reviziile 16 si 2 | Diferente pentru problema/puzzle intre reviziile 7 si 6 | Diferente pentru problema/apm intre reviziile 39 si 1 | Diferente pentru utilizator/ericdimi intre reviziile 27 si 26 | Cod sursa (job #1098927)
#include <fstream>
using namespace std;
ifstream fin ("inversmodular.in");
ofstream fout ("inversmodular.out");
int n;
int Euclid(int, int, int&, int&);
int main()
{
int a, b;
int x, y;
fin>> a>> b;
Euclid (a, b, x, y);
fout<< x<< "\n";
fin.close();
fout.close();
return 0;
}
int Euclid (int a, int b, int& x, int& y)
{
int x0, y0, val;
if (b==0)
{x=1; y=0; return a;}
val = Euclid(b, a%b, x0, y0);
x=y0;
y=x0-y0*(a/b);
return val;
}