Cod sursa(job #1563745)

Utilizator AetheryonStefan Bereghici Aetheryon Data 6 ianuarie 2016 16:31:11
Problema Algoritmul lui Euclid extins Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
const char* IN = "euclid3.in";
const char* OUT = "euclid3.out";

class Math {
    private :
        Math(){}
        ~Math(){}

    public :
        static int euclidExtended(int a,int b,int &x,int &y){
            if (b==0) {
                x = 1;
                y = 0;
                return a;
            }
            int x0,y0,gcd;
            gcd = euclidExtended(b,a%b,x0,y0);
            x = y0;
            y = x0 - a/b * y0;
            return gcd;
        }
};

int n,a,b,c,x,y,sol;
int main(void){
    ifstream cin(IN);
    ofstream cout(OUT);
    cin>>n;
    while(n--){
        cin>>a>>b>>c;
        sol = Math::euclidExtended(a,b,x,y);
        if (c%sol==0) cout<<x*c/sol<<" "<<y*c/sol<<endl;
              else cout<<"0 0"<<endl;
    }
    return 0;
}