Pagini recente » Cod sursa (job #175970) | Cod sursa (job #511093) | Cod sursa (job #2989242) | Cod sursa (job #167698) | Cod sursa (job #1467911)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
int kt[100];
void euclid(int &a, int b, int &k)
{
while(b)
{
int r;
r = a % b;
kt[++k]=a/b;
a = b;
b = r;
}
}
void solutii(int &a, int &b, int k)
{
int i, x = 1, y = 0;
a=x;b=y;
for(i=k; i>=1; i--)
{
a = y;
b = x - y * kt[i];
x = a;
y = b;
}
}
int main()
{
int a, b, k;
fin >> a >> b;
k = 0;
euclid(a, b, k);
int x=0, y=0, d;
d = 1 / a;
solutii(x, y, k);
fout<<x*d;
return 0;
}