Cod sursa(job #66542)

Utilizator gabitzish1Gabriel Bitis gabitzish1 Data 19 iunie 2007 18:06:46
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<stdio.h>


long long n, contor, v[1000002], u[1000002];


void eratostene()
{
  long long i,j;
  for(i=2;i<=1000000;i++) v[i]=i;

  for(i=2;i<=1000000;i++)
   {
    if(i>n) break;
    if(u[i]==0)
     {
      j=2;
      v[i]--;
      while(i*j<=n)
	{
	  u[i*j]=1;
	  v[i*j]=v[i*j]-v[i*j]/i;
	  j++;
	}
    
       }
    }
}


void citire()
{
  freopen("fractii.in","r",stdin);
  scanf("%lld",&n);
}

int main()
{
  citire();
  long long i;
  contor=1;
  eratostene();
  for (i=2; i<=n; i++)
    contor+=v[i];
  freopen("fractii.out","w",stdout);
  printf("%lld",contor*2-1);
  return 0;
}