Cod sursa(job #2932463)

Utilizator MAlex2019Melintioi George Alexandru MAlex2019 Data 2 noiembrie 2022 22:20:29
Problema Fractii Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <iostream>
#include <fstream>

using namespace std;

const int maxn = 1e6 + 1;
int euler[maxn];

void init() {
    for (int i = 1; i < maxn; i++)
        euler[i] = i;
    for (int i = 2; i < maxn; i++)
        if (euler[i] == i)
            for (int j = i; j < maxn; j += i)
                euler[j] = euler[j]/i*(i - 1);
    for (int i = 2; i < maxn; i++)
        euler[i] += euler[i - 1];
}

int main() {
    init();
    ifstream fin("fractii.in");
    ofstream fout("fractii.out");
    int n;
    fin >> n;
    fout << 2*euler[n] - 1 << '\n';

    return 0;
}