Cod sursa(job #675646)
Utilizator | Data | 7 februarie 2012 21:42:30 | |
---|---|---|---|
Problema | Algoritmul lui Euclid extins | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.49 kb |
#include<stdio.h>
using namespace std;
void euclid(long a,long b,long &c,long &x,long &y)
{
if(!b)
{
c=a;x=1;y=0;
}
else
{
long x1,y1;
euclid(b,a%b,c,x1,y1);
x=y1;
y=x1-(a/b)*y1;
}
}
long n,i,x,y,a,c,b,d;
int main()
{
freopen ("euclid3.in","r",stdin);
freopen ("euclid3.out","w",stdout);
scanf("%ld",&n);
for(i=1;i<=n;++i)
{
scanf("%ld %ld %ld",&a,&b,&d);
euclid(a,b,c,x,y);
if(d%c==0)
printf ("%ld %ld\n",x*(d/c) ,y*(d/c));
else
printf ("0 0\n");
}
return 0;
}