Cod sursa(job #567272)

Utilizator edihackpackEdi Pop edihackpack Data 29 martie 2011 21:56:53
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <cstdio>
int divizorcomun (int a, int b);
int main()
{
	int n,nrfractii=0;
	FILE*fin;
	FILE*fout;
	fin=fopen("fractii.in","r");
	fout=fopen("fractii.out","w");
	fscanf(fin,"%d",&n);
	nrfractii+=n+n-1;
	for(int i=2;i<=n;i++)
		for(int j=2;j<=n;j++)
		{
			if(i==j)
				continue;
			else if(i>j)
			{
				if(divizorcomun(i,j)==1)
					nrfractii++;
			}
			else
			{
				if(divizorcomun(j,i)==1)
					nrfractii++;
			}
		}
	fprintf(fout,"%d",nrfractii);
	fclose(fin);
	fclose(fout);
}
int divizorcomun(int a, int b)
{
	int c;
	while(a%b)
	{
		c=a%b;
		a=b;
		b=c;
	}
	return b;
}