Cod sursa(job #218082)

Utilizator funkydvdIancu David Traian funkydvd Data 31 octombrie 2008 18:52:44
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
 #include<fstream.h>  
 #include<math.h>  
 long a[1000001],n,i,ii,j,x,y,p,m,ok;  
 long long nr,rad;  
 int main()  
 {  
 ifstream f("fractii.in");  
 ofstream g("fractii.out");  
 f>>n;  
 a[1]=1;  
 for(i=2;i<=n;i++)  
  {x=i;  
   p=2;  
   rad=sqrt(x);  
   while(p<=rad && x%p)p++;  
   if(p>rad)a[i]=i-1;  
   
   else  
   {  
   y=1;  
   while(x%p==0){y=y*p;  
         x=x/p;  
         }  
  y=y/p;  
  a[i]=(p-1)*y*a[x];  
  }  
   
}  
nr=1;  
for(i=2;i<=n;i++)  
    nr=nr+2*a[i];  
g<<nr;  
g.close();  
  
return 0;  
}