Cod sursa(job #292851)

Utilizator StigmaSimina Pitur Stigma Data 31 martie 2009 18:47:56
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <fstream.h>
#define dim 1000005
ifstream fin("fractii.in");
ofstream fout("fractii.out");

long S,n;
char c[dim];


long euler(long m)
{long double P=m;
long d;

if (m==1) return 1;

for(d=2;d<=m;d++)
 if (!c[d] && m%d==0)
   P=P*(d-1)/d;

return (long)P;
}


void ciur(long n)
{long i,j;

 i=2;

 while (i<n)
  {
    for (j=2*i;j<=n;j=j+i)
    c[j]=1;

  for (i++;c[i]==1 && i<n; i++);
  }
}




int main()
{long i;
fin>>n; fin.close();

ciur(n);

for (i=1;i<=n;i++)
	 S+=euler(i);
fout<<S*2-1;
fout.close();
return 0;
}