Cod sursa(job #612816)

Utilizator SpiderManSimoiu Robert SpiderMan Data 10 septembrie 2011 13:26:37
Problema Fractii Scor 100
Compilator cpp Status done
Runda test_info20 Marime 0.53 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; sol += V[i++] ) {
        if ( V[i] == i ) {
            for ( int j = i ; j <= N; j += i ) {
                V[j] /= i , V[j] *= ( i - 1 ) ;
            }
        }
    }
    fprintf ( fopen ( "fractii.out", "w" ) , "%lld", sol * 2 + 1 ) ;
}