Cod sursa(job #633019)

Utilizator Marius_mFMI-M2 Marius Melemciuc Marius_m Data 12 noiembrie 2011 18:30:39
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include<stdio.h>

using namespace std;

void euclid_extins(long int a,long int b,long int &c,long int &x,long int &y)
{	long int x1,y1;
    if (b==0) {
        x=1;
		y=0;
		c=a;
    } 
	else {
        euclid_extins(b,a % b,c,x1,y1);
        x = y1;
        y = x1-(a/b)*y1;	}
}	

int main()
{	int T,i;
	long int a1,b1,d1,c1,x1,y1;
	FILE *f,*g;
	f=fopen("euclid3.in","r");
	g=fopen("euclid3.out","w");
	fscanf(f,"%d",&T);
	for(i=1;i<=T;i++)	{
		fscanf(f,"%ld %ld %ld",&a1,&b1,&d1);
		euclid_extins(a1,b1,c1,x1,y1);
		if(d1%c1!=0)
			fprintf(g,"0 0 \n");
		else
			fprintf(g,"%ld %ld \n",x1*(d1/c1),y1*(d1/c1));
	}
	fclose(f);
	fclose(g);
	return 0;
}