Cod sursa(job #185824)

Utilizator h_istvanHevele Istvan h_istvan Data 26 aprilie 2008 10:39:46
Problema Algoritmul lui Euclid extins Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.64 kb
#include <stdio.h> 

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

long euclid(long a,long b,long *x,long *y)
{
     if(b==0)
     {
             *x=1;
             *y=0;
             return a;
     }
     
     long x0,y0,d;
     d=euclid(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("%d\n",&t);
    for (i=1;i<=t;++i)
    {
        scanf("%ld %ld %ld\n",&a,&b,&c);
        d=euclid(a,b,&x,&y);
        if(c%d) printf("%d %d\n",0,0);
        else printf("%ld %ld\n",x*(c/d),y*(c/d));
    }
        
    return 0;
}