Cod sursa(job #1262513)

Utilizator cristina_borzaCristina Borza cristina_borza Data 13 noiembrie 2014 11:55:48
Problema Algoritmul lui Euclid extins Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>

using namespace std;
ifstream f("euclid3.in");
ofstream g("euclid3.out");
long long a,b,xa,ya,t,c,cmmdc,i;
long long euclid_ext(long long a,long long b,long long &xa,long long &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;
}
long long euclid_ext(long long a,long long b,long long &xa,long long &ya)
{
    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;
}