Cod sursa(job #2230124)

Utilizator AndreiVisoiuAndrei Visoiu AndreiVisoiu Data 9 august 2018 10:22:00
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <iostream>
#include <cstdio>

using namespace std;

int eul[1000001], n;


void euler() {
    for(int i = 1; i <= n; i++) eul[i] = i;
    for(int i = 2; i <= n; i++)
        if (eul[i] == i)
            for(int j = i; j <= n; j += i)
                eul[j] /= i, eul[j] *= (i-1);
}

int main()
{
    freopen("fractii.in", "r", stdin);
    freopen("fractii.out", "w", stdout);

    scanf("%d", &n);

    long long fr = 0;
    euler();
    for (int i = 2; i <= n; i++) fr += eul[i];
    printf("%lld", fr*2 + 1);
    return 0;
}