Cod sursa(job #279017)

Utilizator maryuszmarius ciubotariu maryusz Data 12 martie 2009 17:20:28
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<stdio.h>
long int n,k;
long cmmdc(long a,long b)
{
	if(!b) return a;
	return cmmdc(b,a%b);
}
int valid(long int i, long int j)
{
	if((i%j==0 && j!=1) || (j%i==0 && i!=1) || (i!=1 && j!=1 && cmmdc(i,j)!=1)) return 0;
	return 1;
}
void back()
{
	for(long int i=1;i<=n;i++)
	{
		
		if(i%2==0)
		{
			k++;
			for(long int j=3;j<=n;j+=2)
			{
				if(valid(i,j))	k++;		
			}
		}
		else
		{
			k++;
			for(long int j=2;j<=n;j++)
			{
				if(valid(i,j))	k++;		
			}
		}
	}
}
int main(void)
{
	FILE *f,*g; f=fopen("fractii.in","r");g=fopen("fractii.out","w");
	fscanf(f,"%ld",&n);back();fprintf(g,"%ld\n",k);fcloseall();
	return 0;
}