Cod sursa(job #250359)

Utilizator 630r63Ilinca George Mihai 630r63 Data 30 ianuarie 2009 18:59:46
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
   #include<stdio.h>     
   #define N 1000001  
   int n,v[N];  
   void euler()  
   {  
       int i,j;  
       for( i=2 ; i<N ; ++i )  
           v[i]=i;  
       for( i=2 ; i<N ; ++i )  
           if( v[i]==i )  
               for(j=i ; j<N ; j+=i )  
                   v[j] = v[j] / i * ( i - 1 ) ;  
   }  
   void calcul()  
   {  
       long long s=1;  
       int i;   
       for( i=2 ; i<=n ; ++i )  
           s+= 2 * v[i];  
       printf("%lld",s);  
   }  
   int main()  
   {  
       freopen("fractii.in","r",stdin);  
       freopen("fractii.out","w",stdout);  
       scanf("%d",&n);  
       euler();  
       calcul();     
       return 0;  
  }