Cod sursa(job #222996)

Utilizator andrici_cezarAndrici Cezar andrici_cezar Data 26 noiembrie 2008 16:35:33
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 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;   
}