Cod sursa(job #1755487)

Utilizator pfaaiFlorinel Salamiut pfaai Data 10 septembrie 2016 12:58:10
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>

#define maxn 1000010
using namespace std;

long long phi[maxn];
int n;

void calculatePhi() {
    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] /= i;
                phi[j] *= (i - 1);
            }
}

int main() {
    ifstream in("fractii.in");
    ofstream out("fractii.out");

    in >> n;
    calculatePhi();

    long long result = 1LL;
    for (int i = 2; i <= n; i++)
        result += 2LL * phi[i];

    out << result;
    return 0;
}