Cod sursa(job #354857)

Utilizator floringh06Florin Ghesu floringh06 Data 9 octombrie 2009 19:02:29
Problema Algoritmul lui Euclid extins Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <cstdio>
#include <cstring>

using namespace std;

#define FIN "euclid3.in"
#define FOUT "euclid3.out"

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

    void euclidext(int &x, int &y, int &d, int a, int b)  
    {  
        if (!b)  
                 d = a, x = 1, y = 0;  
        else  
        {  
            int aux;  
          
            euclidext(x, y, d, b, a % b);  
            aux = x;  
            x = y;  
            y = aux - y * (a / b);  
        }     
    } 

    int main ()
    {
        freopen (FIN, "r", stdin);
        freopen (FOUT, "w", stdout);
        
        scanf ("%d", &T);
        
        while (T--)
        {
              scanf ("%d %d %d", &a, &b, &c);
              
              euclidext (x, y, d, a, b);
              if (c % d) printf ("0 0\n");
                 else printf ("%d %d\n", x * c/d, y * c/d);
        }        
        
        return 0;
    }