Cod sursa(job #631188)

Utilizator Daniel30daniel Daniel30 Data 7 noiembrie 2011 11:32:54
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<cstdio>
using namespace std;
int n;
long a,b,c,d;

long cmmdc( int a, int b, int &x, int &y )
{
  if (b==0)
  {
    x=1;
    y=0;
    return a;
  }
  int x0,y0,d;
  d=cmmdc(b,a%b,x0,y0);
  x=y0;
  y=x0-(a/b)*y0;
  return d;
}
void cit()
{freopen("euclid3.in","rt",stdin);
 freopen("euclid3.out","wt",stdout);
 scanf("%d",&n);
 int x,y;
 for(register int i=1;i<=n;i++)
	 {scanf("%ld%ld%ld",&a,&b,&c);
	  d=cmmdc(a,b,x,y);
	  if(c%d) printf("0 0\n");
        else printf("%ld %ld\n",x*(c/d),y*(c/d));	  
	 }
}
int main()
{cit();
 return 0;
}