Cod sursa(job #2499014)

Utilizator SqueekDanielTodasca Daniel SqueekDaniel Data 25 noiembrie 2019 09:14:41
Problema Fractii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <bits/stdc++.h>

#define MAXN    1000005

std::ifstream   input ("fractii.in");
std::ofstream   output("fractii.out");

int N;
int phi[MAXN];

int main()
{
    input >> N;

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

    long long ans = 1;
    for (int i=2; i<=N; ++i)
        ans += 2LL * phi[i];
    output << ans;

    return 0;
}