Cod sursa(job #22197)

Utilizator poepiPoenaru Iulian poepi Data 25 februarie 2007 22:26:02
Problema Fractii Scor 10
Compilator c Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<stdio.h>
long n,nr,nrf,nrp;
int cmmdc(long a,long b)
{
	long r,x;
	x=a;
	while(b)
	{
		r=a%b;
		a=b;
		b=r;
	}
	if(a==x||a==1)
		return 0;
	else
		return a;
}
int main()
{
	long i,j,k=0;
	FILE *f=fopen("fractii.in","r"),*g=fopen("fractii.out","w");
	fscanf(f,"%ld",&n);
	for(i=4;i<=n;i++)
	{if(i%2==0)
	{k=1;nrp=nrp+i/2-1;}
	else
		k=0;
		for(j=1;j<i;j=j+k+1)
			if(cmmdc(i,j))
				nr++;
	}
	nrf=n*n-(nr+nrp)*2-n+1;
	fprintf(g,"%ld",nrf);
	fclose(g);
	fclose(f);
	return 0;
}