Cod sursa(job #218738)

Utilizator Hunter_of_ShadowNegrus Stefan Hunter_of_Shadow Data 3 noiembrie 2008 13:06:51
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <fstream.h>
#include <math.h>
int main ()
{ long v[1000001],p,e,y,n,z,i,j,x,nrf;
long long nr,rad;
ifstream f("fractii.in");
ofstream g("fractii.out");
f>>n;
v[1]=1;

for (i=2;i<=n;i++)
 { x=i;
   p=2;
   z=1;
   rad=sqrt(x);
   while (p<=rad && x%p>=1) p++;
   if (p>rad) v[i]=i-1;
    else {
	 y=x;
	 e=0;
    while (y%p==0)
       { y/=p;
	 e++;
	 z=z*p;
       }
   z=z/p;
  v[x]=v[y]*(p-1)*z;
  }}
nr=1;
for (i=2;i<=n;i++)
 nr=nr+2*v[i];
g<<nr;
f.close();
g.close();
return 0;
}