Cod sursa(job #1437409)

Utilizator RazvanSSavu Razvan RazvanS Data 17 mai 2015 17:12:31
Problema Algoritmul lui Euclid extins Scor 50
Compilator c Status done
Runda Arhiva educationala Marime 0.89 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;
    }
    else {
        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", x * c/d, y* c/d);
        }
        else {
            printf("0 0\n");
        }
            
    }
    return 0;
}