Cod sursa(job #157529)

Utilizator FlorianFlorian Marcu Florian Data 13 martie 2008 08:33:33
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<stdio.h>
FILE*f=fopen("euclid3.in","r");
FILE*g=fopen("euclid3.out","w");
void euclid(int a, int b,int &d,int &x, int &y)
  {
  if(b==0)
   {
   x=1;
   y=0;
   d=a;
   }
  else
   {
   int x0,y0;
   euclid(b,a%b,d,x0,y0);
   x=y0;
   y=x0-(a/b)*y0;
   }
 }
void solve(int a, int b, int c)
 {
 int d;
 int x,y;
 euclid(a,b,d,x,y);
 if(c%d)
  {
  fprintf(g,"0 0\n");
  }
 else
  {
  fprintf(g,"%d %d\n",x* (c/d),y*(c/d));
  }
 }
int main()
 {
 int t;
 fscanf(f,"%d",&t);
 int a,b,c;
 while(t--)
  {
  fscanf(f,"%d %d %d",&a,&b,&c);
  solve(a,b,c);
  }
 return 0;
 }