Cod sursa(job #398465)

Utilizator arnold23Arnold Tempfli arnold23 Data 18 februarie 2010 19:29:13
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <stdio.h>

long n,i,a,b,c,x,y,d;

inline int gcd(long a,long b,long &x,long &y)
{
 if(b==0)
 {
   x=1;
   y=0;
   return a;        
 }
 long x0,y0,d;
 d=gcd(b,a%b,x0,y0);
 
 x=y0;
 y=x0-(a/b)*y0;
 
 return d;   
}

int main()
{
 freopen("euclid3.in","r",stdin);
 freopen("euclid3.out","w",stdout);
 
 scanf("%ld\n",&n);
 for(i=1;i<=n;++i)
 {
   scanf("%ld %ld %ld\n",&a,&b,&c);
   d=gcd(a,b,x,y);
   if(c%d) printf("0 0\n");
   else printf("%ld %ld\n",x*(c/d),y*(c/d));                 
 }   
    
 return 0;    
}