Cod sursa(job #198617)

Utilizator TrumpCardPopescu Silviu TrumpCard Data 13 iulie 2008 08:25:00
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <stdio.h>
int a[1000001];
int main(int argc, char** argv) 
{  
  freopen("fractii.in", "r", stdin);
   long n;
   long long nr=0;
   int i,j;
   for(int i=0;i<1000001;i++)a[i]=i;  
     for(int i=2;i<1000001;i++)  
         if(a[i]==i)  
         { for(int j=2;j*i<1000001;j++)a[j*i]=a[j*i]/i*(i-1);  
             a[i]=i-1;  
         }     
   
       
     nr=1;  
     for(int i=2;i<=n;i++)  
         {  
         nr+=2*a[i];}  
   freopen("fractii.out", "w", stdout);
   printf("%lld", nr); fclose(stdout);
   return 0;
}