Pagini recente » Borderou de evaluare (job #2287016) | Borderou de evaluare (job #188843) | Borderou de evaluare (job #1617881) | Cod sursa (job #3233461) | Cod sursa (job #1465563)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
void euclid(int &a, int b, int &k){
while(b){
int r;
r = a % b;
a = b;
b = r;
k++;
}
}
void solutii(int &a, int &b, int k){
int i, x = 1, y = 0;
for(i=k-1; i>=0; i--){
a = y;
b = x - y * 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;
}