Cod sursa(job #567268)

Utilizator edihackpackEdi Pop edihackpack Data 29 martie 2011 21:49:59
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 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;
	for(int i=2;i<=n;i++)
		for(int j=1;j<=n;j++)
		{
			if(j==1)
			{
				nrfractii++;
				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;
}