Cod sursa(job #998829)

Utilizator crucerucalinCalin-Cristian Cruceru crucerucalin Data 18 septembrie 2013 12:07:21
Problema Fractii Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <stdio.h>
#include <stdlib.h>

int N, phi[1000005];
long long sol;

int main()
{
    int i, j;

    freopen("fractii.in","r",stdin);
    freopen("fractii.out","w",stdout);

    scanf("%d",&N);

    for ( i=1; i<=N; i++ ) {
        phi[i] = i;
    }

    for ( i=2; i<=N; i++ ) {
        if ( phi[i] == i ) {
            for ( j=i ; j<=N; j += i ) {
                phi[j] /= i;
                phi[j] *= (i-1);
            }
        }
        sol += phi[i];
    }

    printf("%lld",2*sol+1);

    return 0;
}