Cod sursa(job #296956)

Utilizator TyberFMI Dogan Adrian Ioan Lucian Tyber Data 5 aprilie 2009 10:45:39
Problema Algoritmul lui Euclid extins Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include<stdio.h>
long long cmmdc(long long,long long,long long&,long long&);
int main(){long long t,a,b,c;
	freopen("euclid3.in","r",stdin);
	freopen("euclid3.out","w",stdout);
	scanf("%I64d",&t);
	for(long long i=1;i<=t;i++){scanf("%I64d %I64d %I64d", &a,&b,&c);
               long long d,x,y;
               d=cmmdc(a,b,x,y);
			   if(c%d)printf("0 0\n");
			   else printf("%I64d %I64d\n", x*(c/d),y*(c/d));}
	return 0;}
long long cmmdc(long long a,long long b,long long&x,long long&y){if(b==0){x=1;
                                                                          y=0;
                                                                          return a;}
                                                                 long long x0,y0,d;
																 d=cmmdc(b,a%b,x0,y0);
																 x=y0;
																 y=x0-(a/b)*y0;
																 return d;}