Cod sursa(job #368265)

Utilizator LaurDLaur Dimana LaurD Data 24 noiembrie 2009 12:26:00
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <cstdio>

const int MAX = 1000000 + 1;
int f[ MAX ], n;
long long sol;

void Read()
{
    FILE *in = fopen( "fractii.in", "r" );

    fscanf( in, "%d", &n );

    fclose( in );
}

void Solve()
{
    int i, j;
    sol = 0;

    for ( i = 1; i <= n; i++ )
        f[ i ] = i - 1;

    for ( i = 2; i <= n; i++ )
        for ( j = i + i; j <= n; j += i )
            f[ j ] -= f[ i ];

    for ( i = 2; i <= n; i++ )
        sol += f[ i ];

    sol = sol*2 + 1;
}

void Write()
{
    FILE *out = fopen( "fractii.out", "w" );

    fprintf( out, "%lI64d", sol );

    fclose( out );
}

int main( void )
{
    Read();
    Solve();
    Write();

    return 0;
}