Cod sursa(job #903845)

Utilizator MihaiNeacsuMihai Neacsu MihaiNeacsu Data 3 martie 2013 01:26:39
Problema Algoritmul lui Euclid Scor 60
Compilator c Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdio.h>
#include <assert.h>

int gcd(int a, int b){
	if (!b)
		return a;

	if (a > b)
		return gcd(a - b, b);

	return gcd(a, b - a);
}

int main(){
	FILE *fin = fopen("./euclid2.in", "r"),
		 *fout = fopen("./euclid2.out", "w+");
	assert(fin && fout);

	int T;
	if (fscanf(fin, "%d\n", &T) != 1)
		fputs("Error on read T\n", stderr);

	while (T){
		int a, b;

		fscanf(fin, "%d %d\n", &a, &b);

		fprintf(fout, "%d\n", gcd(a, b));

		--T;
	}

	return 0;
}