Cod sursa(job #203568)

Utilizator AdrianSoucupAdrian Soucup AdrianSoucup Data 17 august 2008 15:59:10
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <stdio.h>

bool ired(long a, long b)
{
	long r;
	if(a<b)
		a=a+b, b=a-b, a=a-b;
	do
	{
		r=a%b;
		a=b;
		b=r;
	}
	while(r);
	if(a!=1)
		return false;
	return true;
}

long NrFractiiNr(long n)
{
	int NrCurent=0, i;
	for(i=1; i<=n; i++)
		if(ired(i, n)) NrCurent+=2;
	return NrCurent;
}


int main ()
{
	FILE *in, *out;
	in=fopen("fractii.in", "r");
	out=fopen("fractii.out", "w");
	long NrFractii=1, n, i;
	fscanf(in, "%ld", &n);

	for(i=2; i<=n; i++)
		NrFractii+=NrFractiiNr(i);
	fprintf(out, "%ld", NrFractii);

	fclose(in);
	fclose(out);
	return 0;
}