Cod sursa(job #1098918)

Utilizator Lucian_BosinceanuLucian-Andrei Bosinceanu Lucian_Bosinceanu Data 5 februarie 2014 12:28:17
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>

using namespace std;

ifstream fin("euclid3.in");
ofstream fout("euclid3.out");

int euclid(int a,int b);
void euclide(int a, int b,int& d, int& x, int &y);

int n,x,y;

int main()
{
int i,a,b,c,d;
fin>>n;
for (i=1;i<=n;i++)
     {
      fin>>a>>b>>c;
      euclide(a,b,d,x,y);
      if (c%d==0) fout<<x*(c/d)<<' '<<y*(c/d)<<'\n';
          else
          fout<<"0 0"<<'\n';
     }
    return 0;
}

void euclide(int a, int b,int &d, int& x, int &y)
{
if (b==0) {d=a;x=1;y=0;}
    else
    {
    int x0,y0;
    euclide(b,a%b,d,x0,y0);
    x=y0;
    y=x0-y0*(a/b);
    }
}