Cod sursa(job #1699451)

Utilizator TincaMateiTinca Matei TincaMatei Data 7 mai 2016 12:36:46
Problema Fractii Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <stdio.h>
#define MAX_N 1000000

int ind[ 1 + MAX_N ];

int indEuler( int i ) {
  return i - ind[ i ];
}

int main() {
    int d , i , c , n;
    long long s;
    for( d = 2 ; d <= MAX_N ; d++ )
        if( ind[ d ] == 0 ) {
            c = 1;
            for( i = d ; i <= MAX_N ; i += d ) {
                c++;
                if( ind[ i ] == 0 )
                    ind[ i ] += c - 1;
                else
                    ind[ i ] += c - 2;
            }
        }

    FILE *fin = fopen( "fractii.in" , "r" );
    fscanf( fin , "%d" , &n );
    fclose( fin );

    FILE *fout = fopen( "fractii.out" , "w" );
    s = 0LL;
    for( i = 1 ; i <= n ; i++ )
        s += 2 * indEuler( i );
    fprintf( fout , "%lld" , s - 1 );
    fclose( fout );
    return 0;
}