Cod sursa(job #90633)

Utilizator barbu_alexxaBarbu Alexandra barbu_alexxa Data 9 octombrie 2007 22:03:06
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<stdio.h>
#include<math.h>
int main()
{long n,i,j,a,rest,b;
unsigned long fractii;
freopen("fractii.in","r",stdin);
scanf("%ld", &n);
fclose(stdin);

 fractii=n+n-n/2;
  for(i=3;i<=n;i++)
   {if(i%2==1)
   {for(j=3;j<=sqrt(i)&&i%j;j=j+2);
     if(j>sqrt(i))
	 fractii=fractii+n-n/i;
    else
     for(j=1;j<=n;j++)
       {b=j;
	a=i;
	while(b)
	 {rest=a%b;
	  a=b;
	  b=rest;
	 }
	if(a==1)
	 fractii++;
       }
    }
   else
   {for(j=1;j<=n;j++)
       {b=j;
	a=i;
	while(b)
	 {rest=a%b;
	  a=b;
	  b=rest;
	 }
	if(a==1)
	 fractii++;
       }
   }
 }
freopen("fractii.out","w",stdout);
printf("%lu", fractii);
fclose(stdout);
return 0;
}