Cod sursa(job #166452)

Utilizator runnaway90Oprescu Radu Constantin runnaway90 Data 28 martie 2008 00:28:17
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<stdio.h>
#define M 1000002
long sol[M],n,suma,i,j;

int main()
{
    freopen("fractii.in","r",stdin);
    freopen("fractii.out","w",stdout);
    scanf("%ld",&n);
    suma=1;
    for(i=2;i<=n;i++)
                     if (!sol[i])
                     {
                         suma+=2*(i-1);
                         for(j=i+i;j<=n;j+=i)            
                             if (sol[j])                           
                                sol[j]=(sol[j]*(i-1))/i;
                             else
                                 sol[j]=(j*(i-1))/i;  
                     }
                     else
                         suma+=2*sol[i];   
    printf("%ld",suma);
    return 0;
}