Cod sursa(job #2431213)

Utilizator vladisimovlad coneschi vladisimo Data 18 iunie 2019 17:02:44
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <cstdio>

int solve(int a, int b, int &x, int &y) {
  if (b == 0) {
    x = 1;
    y = 0;
    return a;
  }
  int x0, y0, d;
  d = solve(b, a % b, x0, y0);
  x = y0;
  y = x0 - (a / b) * y0;
  return d;
}


int main() {
  freopen("euclid3.in", "r", stdin);
  freopen("euclid3.out", "w", stdout);
  int nrTests;
  scanf("%d", &nrTests);
  for (int i = 1; i <= nrTests; i++) {
    int a, b, c;
    scanf("%d%d%d", &a, &b, &c);
    int x, y;
    int d = solve(a, b, x, y);
    if (c % d == 0)
      printf("%d %d\n", x * (c / d), y * (c / d));
    else
      printf("0 0 \n");
  }
  return 0;
}