Cod sursa(job #1347569)

Utilizator MarianMMorosac George Marian MarianM Data 19 februarie 2015 00:43:41
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
#include <cmath>

using namespace std;

int egcd(int a, int b, int &X, int &Y){
    if(b == 0)
    {
        X = 1;
        Y = 0;
        return a;
    }

    int d, x0, y0;
    d = egcd(b, a%b, x0, y0);
    X = y0;
    Y = x0 - (a/b)*y0;
    return d;
}


int main()
{
    int i, a, b, c, d, x, y, n;

    freopen("euclid3.in", "rt", stdin);
    freopen("euclid3.out", "wt", stdout);

    scanf("%d", &n);

    for(i=1; i<=n; i++){
        scanf("%d %d %d", &a, &b, &c);
        d = egcd(a,b,x,y);
        if(c%d) printf("0 0\n");
        else    printf("%d %d\n", x*(c/d), y*(c/d));
    }

    return 0;
}