Pagini recente » Cod sursa (job #1152862) | Cod sursa (job #955258) | Cod sursa (job #1221021) | Cod sursa (job #1794811) | Cod sursa (job #2386531)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("euclid3.in");
ofstream fout("euclid3.out");
struct config{
int x, y;
};
config init1, init2, a;
int x, y, rez, cmmdc, sol1, sol2, q, i;
int euclid(int, int);
void euclidExtins(int, int, config, config);
int main(){
fin >> x >> y;
rez = 1;
cmmdc = euclid(x, y);
init1.x = 1; init1.y = 0;
init2.y = 0; init2.y = 1;
euclidExtins(x, y, init1, init2);
fout << sol1 << '\n';
return 0;
}
int euclid(int x, int y){
if(y == 0)
return x;
return euclid(y, x%y);
}
void euclidExtins(int v1, int v2, config a, config b){
int cat, rest;
config c;
rest = v1%v2;
if(rest==0){
sol1 = b.x;
sol2 = b.y;
return;
}
cat = v1/v2;
c.x = a.x - cat*b.x;
c.y = a.y - cat*b.y;
euclidExtins(v2, rest, b, c);
}