Cod sursa(job #2544999)

Utilizator uneven-shiverAlecu Stefan-Iulian uneven-shiver Data 12 februarie 2020 19:12:27
Problema Fractii Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <fstream>
#include <vector>

int main() {
    std::ifstream in;
    in.open("fractii.in");

    size_t N, answer = 0;
    in >> N;

    in.close();

    std::vector<size_t> phi(N + 1);
    for (size_t i = 1; i <= N; ++i)
        phi[i] = i - 1;

    // Scădem fiecare multiplu de-al lui φ[i]
    for (size_t i = 2; i <= N; ++i) {
        for (size_t j = 2 * i; j <= N; j += i)
            phi[j] -= phi[i];
        answer += phi[i];
    }

    std::ofstream out("fractii.out");
    out << 2 * answer + 1 << std::endl;

    out.close();
    return 0;
}