Cod sursa(job #2456585)

Utilizator UnDragosDragos Ioana UnDragos Data 14 septembrie 2019 18:56:48
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void euclid_extins(int a, int b,int *d,int* x, int* y)
{
	if (b == 0)
	{
		*d = a;
		*x = 1;
		*y = 0;
	}
	else
	{
		int x0, y0;
		euclid_extins(b, a % b, d, &x0, &y0);
		*x = y0;
		*y = x0 - (a / b )*y0;
	}
}
int main()
{
	FILE* fp = fopen("euclid3.in", "r");
	int T;
	fscanf(fp, "%d", &T);
	FILE* fout = fopen("euclid3.out", "w");
	for (int i = 0; i < T; i++)
	{
		int a, b,c,d,x,y;
		fscanf(fp, "%d%d%d", &a, &b,&c);
		euclid_extins(a, b, &d, &x, &y);
		if (c % d == 0)
		{
			fprintf(fout,"%d %d\n", x * (c / d), y * (c / d));
		}
		else
		{
			fprintf(fout,"0 0\n");
		}

	}

	fclose(fp);
	fclose(fout);
	return 0;
}