Cod sursa(job #28418)

Utilizator dodgerblueBogdan P. dodgerblue Data 7 martie 2007 20:02:40
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<fstream.h>
int e[1000001],n;
float pr[1000001];
long long int s=1,p;
long double r;


int main()
{
  int i,j;

  ifstream f("fractii.in");
  f>>n;
  f.close();

  for(i=1;i<=n;i++)
  {
    e[i]=1;
    pr[i]=1;
  }

  for(i=2;i<=n/2;i++)
   if(e[i]==1)
    for(j=2;j*i<=n;j++)
      e[i*j]=0;

  for(i=2;i<=n;i++)
  {
   if(e[i]==1)
   {
    pr[i]=i-1;
    for(j=2;j*i<=n;j++)
      {
	pr[i*j]*=i-1;
	pr[i*j]/=i;
      }
    r=pr[i];
   }
   else
     r=(long long int)pr[i]*i;
   s+=2*r;
  }



  ofstream g("fractii.out");
  g<<s<<"\n";
  g.close();
  return 0;
}