Cod sursa(job #284299)

Utilizator andrici_cezarAndrici Cezar andrici_cezar Data 21 martie 2009 16:58:42
Problema Fractii Scor 100
Compilator cpp Status done
Runda Inceput Marime 0.73 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;      
}