Cod sursa(job #166457)

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

int main()
{
    freopen("fractii.in","r",stdin);
    freopen("fractii.out","w",stdout);
    scanf("%lld",&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("%lld",suma);
    return 0;
}