Cod sursa(job #500350)

Utilizator andrey_porscheGraur Andrei andrey_porsche Data 11 noiembrie 2010 22:19:29
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
# include <algorithm>
# include <cstdio>

int V[1000000] ;
int N, nr ;
long long sol ;

int comp ( void ) {
    return ++nr ;
}

int main ( void ) {
    fscanf ( fopen ( "fractii.in", "r" ) , "%d", &N ) ;
    std :: generate_n ( V + 1, N, comp ) ;
    for ( int i = 2; i <= N; ++i ) {
        if ( V[i] == i ) {
            for ( int j = i ; j <= N; j += i ) {
                V[j] /= i , V[j] *= ( i - 1 ) ;
            }
        }
        sol += V[i] ;
    }
    fprintf ( fopen ( "fractii.out", "w" ) , "%lld", sol * 2 + 1 ) ;
}