Cod sursa(job #989435)

Utilizator AlexandruValeanuAlexandru Valeanu AlexandruValeanu Data 25 august 2013 16:54:16
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <iostream>
#include <fstream>

using namespace std;

#define Nmax 1000005

int phi[Nmax];
long long sol = 0;
int N;

int main()
{
    ifstream f("fractii.in");
    ofstream g("fractii.out");

    f >> N;

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

    for ( int i = 2; i <= N; i++ )
            if ( phi[i] == i )
                for ( int j = i; j <= N; j += i )
                        phi[j] /= i,
                        phi[j] *= ( i - 1 );

    for ( int i = 2; i <= N; ++i )
            sol += phi[i];

    g << 2 * sol + 1 << "\n";

    f.close();
    g.close();

    return 0;
}