Cod sursa(job #1437424)

Utilizator RazvanSSavu Razvan RazvanS Data 17 mai 2015 17:48:25
Problema Algoritmul lui Euclid extins Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.94 kb
/* 
 * File:   main.c
 * Author: Razvan
 *
 * Created on May 17, 2015, 4:15 PM
 */

#include <stdio.h>

#define FILE_IN "euclid3.in"
#define FILE_OUT "euclid3.out"

int T, i, a, b, c, d, x, y;

int calcSol(int a, int b, int* x, int* y) {
    if (b==0)
    {
        *x = 1;
        *y = 0;
        return a;
    }
    if (a==0)
    {
        *x = 0;
        *y = 1;
        return b;
    }
    int _x, _y, d;
    d = calcSol(b, a%b, &_x, &_y);
    *x = _y;
    *y = _x - a / b * _y;
    return d;
}

int main(int argc, char** argv) {
    freopen(FILE_IN, "r", stdin);
    freopen(FILE_OUT, "w", stdout);
    scanf("%d", &T);
    for (i = 0; i < T; i++) {
        scanf("%d %d %d", &a, &b, &c);
        d = calcSol(a, b, &x, &y);
        if (c%d == 0) {
            printf("%d %d\n", c / d * x, c / d * y);
        }
        else {
            printf("0 0\n");
        }
            
    }
    return 0;
}