Cod sursa(job #935306)

Utilizator apopeid14Apopei Daniel apopeid14 Data 2 aprilie 2013 19:29:48
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>
 
using namespace std;
 
void cmmdc(int a,int b,int *d,int *x,int *y)
{
    if(b==0)
    {
        *d=a;
        *x=1;
        *y=0;
    }
    else
    {
        int x0,y0;
        cmmdc(b,a%b,d,&x0,&y0);
 
        *x=y0;
        *y=x0-(a/b)*y0;
    }
 
}
 
int main()
{
    ifstream cin("euclid3.in");
    ofstream cout("euclid3.out");
 
    int a,b,c;
    int x,y,d;
    int t,i;
    cin>>t;
    for(i=0;i<t;i++)
    {
        cin>>a>>b>>c;
        cmmdc(a,b,&d,&x,&y);
       // cout<<"d este "<<d<<endl;
 
        if(c%d==0)
        {
           cout<<x*(c/d)<<' '<<y*(c/d)<<endl;
        }
        else
        {
           cout<<"0 0\n";
        }
    }
    cin.close();
    cout.close();
    return 0;
}