Cod sursa(job #1003588)

Utilizator timicsIoana Tamas timics Data 30 septembrie 2013 22:40:28
Problema Algoritmul lui Euclid extins Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include<iostream>
#include<stdio.h>
using namespace std;
int  T,A,B,C,x,y;

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

int main()
{
    freopen("euclid3.in","r",stdin);
    freopen("euclid3.out","w",stdout);
    cin>>T;
    for(int i=1;i<=T;++i)
    {
        cin>>A>>B>>C;
        int x,y;
        int d = gcd(A,B,x,y);
        cout<<d<<" ";
        if(C%d!=0)
            cout<<0<<" "<<0<<endl;
        else
            cout<<C/d *x<<" "<<C/d *y<<endl;
    }
    return 0;
}