Cod sursa(job #2774289)

Utilizator amcbnCiobanu Andrei Mihai amcbn Data 10 septembrie 2021 20:42:37
Problema Fractii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
/* [A][M][C][B][N] / [K][R][I][P][6][8] */
#include <bits/stdc++.h>
#pragma warning(disable : 4996)
using namespace std;
// Global variables
const char sp = ' ', nl = '\n';
const int MOD = 777013; // 666013 998244353 1000000007
ifstream fin("fractii.in");
ofstream fout("fractii.out");

double C[1000001];
void ciurPhi() {
    for (int i = 1; i <= 1e6; i++) C[i] = i;
    for (int i = 2; i <= 1e6; i++) {
        if (i == C[i]) {
            C[i]--;
            for (int j = 2; j <= 1e6 / i; j++)
                C[i * j] = C[i * j] * (i - 1) / i;
        }
    }
}

int main() {
    ciurPhi();
    long long s(1);
    int n;
    fin >> n;
    for (int i = 2; i <= n; i++)
        s += 2ll * round(C[i]);
    fout << s;
}