Cod sursa(job #1262504)

Utilizator cristina_borzaCristina Borza cristina_borza Data 13 noiembrie 2014 11:52:37
Problema Algoritmul lui Euclid extins Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>

using namespace std;
ifstream f("euclid3.in");
ofstream g("euclid3.out");
int a,b,xa,ya,t,c,cmmdc,i;
int euclid_ext(int a,int b,int &xa,int &ya);
int main()
{
    f>>t;
    for(i=1;i<=t;i++)
    {
        f>>a>>b>>c;
        cmmdc=euclid_ext(a,b,xa,ya);
        if(c%cmmdc==0)
            g<<xa*c/cmmdc<<" "<<ya*c/cmmdc<<'\n';
        else
            g<<0<<" "<<0<<'\n';
    }
    return 0;
}
int euclid_ext(int a,int b,int &ya,int& xa)
{
    int x,y,c,aux,r;
    xa=0;
    ya=1;
    x=1;
    y=0;
    while(b!=0)
    {
        c=a/b;
        r=a%b;
        aux=x;x=xa-c*x;xa=aux;
        aux=y;y=ya-c*y;ya=aux;
        a=b;
        b=r;
    }
    return a;
}