Cod sursa(job #1666942)

Utilizator dragos99Homner Dragos dragos99 Data 28 martie 2016 15:13:51
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include<fstream>
using namespace std;
long n,a,b,i,c;
long euclid(long a, long b)
{
    long r;
    while(b)
    {
        r=a%b;
        a=b;
        b=r;
    }
    return a;
}
long euclid2(long a, long b, long &x, long &y)
{
    if(b==0)
    {
        x=1;
        y=0;
        return a;
    }
    else{
        long d,x0,y0;
        d=euclid2(b,a%b,x0,y0);
        x=y0;
        y=x0-(a/b)*y0;
        return d;
    }
}
int main()
{
    ifstream f("euclid3.in");
    ofstream g("euclid3.out");
f>>n;
for(i=1;i<=n;i++)
{
    f>>a>>b>>c;
    long x1,y1,z;
    z=euclid2(a,b,x1,y1);
    if(c%z==0)
    {
        g<<x1*(c/z)<<" "<<y1*(c/z)<<'\n';
    }
    else
        g<<0<<" "<<0<<'\n';
}
return 0;
}