Cod sursa(job #354858)

Utilizator floringh06Florin Ghesu floringh06 Data 9 octombrie 2009 19:03:44
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include <cstdio>  

using namespace std;

#define FIN "euclid3.in"
#define FOUT "euclid3.out"
  
    int A, B, C, x, y, d;  
  
    void gcd(int &x, int &y, int &d, int a, int b)  
    {  
        if (!b)  
                 d = a, x = 1, y = 0;  
        else  
        {  
            int aux;  
          
            gcd(x, y, d, b, a % b);  
            aux = x;  
            x = y;  
            y = aux - y * (a / b);  
        }     
    }  
  
    int main(void)  
    {  
        int T;  
  
        freopen(FIN, "r", stdin);  
        freopen(FOUT, "w", stdout);  
      
        for (scanf("%d", &T); T; T--)  
        {  
            scanf("%d %d %d", &A, &B, &C);  
            gcd(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;  
    }