Cod sursa(job #1766110)

Utilizator Theodor1000Cristea Theodor Stefan Theodor1000 Data 27 septembrie 2016 15:01:01
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <cstdio>
#include <algorithm>

using namespace std;

int phi[1000010];

int main ()
{
    freopen ("fractii.in", "r", stdin);
    freopen ("fractii.out", "w", stdout);

    int n;
    scanf ("%d", &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] = phi[j] / i * (i - 1);

    long long sum = 0LL;
    for (int i = 1; i <= n; ++i)
        sum += 1LL * phi[i];

    sum <<= 1LL;
    sum -= 1LL;

    printf ("%lld\n", sum);

    return 0;
}