Cod sursa(job #290551)

Utilizator energizerBunnyCicu Mihai energizerBunny Data 28 martie 2009 09:22:21
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
 #include<fstream>  
 #define NMAX 1000002  
 using namespace std;  
 long a[NMAX],i,j,n;  
 long long s;  
 int main()  
 {  
 ifstream f("fractii.in");  
 f>>n;  
 f.close();  
 s=1;  
 a[1]=1;  
 for (i=2;i<=n;i++)  
     a[i]=i;  
 for (i=2;i<=n;i++)  
 {  
     if (a[i]==i)  
     {  
        s+=2*(i-1);  
         a[i]--;  
        for (j=i+i;j<=n;j+=i)  
         {  
             a[j]=(a[j]/i)*(i-1);  
         }         
     }  
     else  
     {  
         s+=2*a[i];  
     }  
 }  
 ofstream g("fractii.out");  
 g<<s<<'\n';  
g.close();  
   
return 0;  
 }