Cod sursa(job #2230117)

Utilizator AndreiVisoiuAndrei Visoiu AndreiVisoiu Data 9 august 2018 10:11:08
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <stdio.h>

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("%i", &n);

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