Cod sursa(job #3219116)

Utilizator mirceamaierean41Mircea Maierean mirceamaierean41 Data 30 martie 2024 10:05:08
Problema Fractii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>

using namespace std;

ifstream fin("fractii.in");
ofstream fout("fractii.out");

const int NMAX = 1e6 + 6;

int phi[NMAX];
int n;

int main()
{
    fin >> 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 total = 0;

    for (int i = 2; i <= n; ++i)
        total += phi[i];

    total = total * 2 + 1; // inmultim cu 2, reprezentand q/p, si adaugam phi(1)

    fout << total << '\n';

    return 0;
}