Cod sursa(job #2932465)

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

using namespace std;

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

void init() {
    for (long long i = 1; i < maxn; i++)
        euler[i] = i;
    for (long long i = 2; i < maxn; i++)
        if (euler[i] == i)
            for (long long 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 << 2LL*euler[n] - 1LL << '\n';

    return 0;
}