Cod sursa(job #929603)

Utilizator rudarelLup Ionut rudarel Data 27 martie 2013 09:49:08
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <stdio.h>
#define MAX 1000001 

int v[MAX], p[MAX];
 
int main()
{
    freopen("fractii.in", "rt", stdin);
    freopen("fractii.out", "wt", stdout); 
    int n, i, j;
    long long rez = 0;
    scanf("%d", &n); 
    for (i = 2; i <= n; i++)
        v[i] = i; 
    for (i = 2; i <= n; i++)
    {
        if (!p[i])
        {            
            for (j = i; j <= n; j += i)
            {
                p[j] = 1;
                v[j] /= i;
                v[j] *= i-1;
            }
        } 
        rez += v[i];
    } 
    printf("%lld\n", 1 + (rez << 1)); 
    return 0;
}