Cod sursa(job #3276412)

Utilizator jumaracosminJumara Cosmin-Mihai jumaracosmin Data 13 februarie 2025 16:50:15
Problema Fractii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <bits/stdc++.h>

using namespace std;

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

const int SIZE = 1000000;

int n;

int phi[SIZE + 5];

void read();
void solve();

int main()
{
    read();
    solve();
    return 0;
}

void read()
{
    fin >> n;
}

void solve()
{
    //un ciur pt phi(n) - indicatorul lui Euler
    for(int i = 2; i <= SIZE; ++i)
        phi[i] = i - 1;
    phi[0] = phi[1] = 1;
    for(int i = 2; i <= SIZE; ++i)
        for(int j = 2 * i; j <= SIZE; j += i)
                phi[j] -= phi[i];

    int64_t rez = 0;
    for(int i = 1; i <= n; ++i)
        rez += phi[i];

    fout << rez * 2LL - 1;
}