Cod sursa(job #1771025)

Utilizator oaspruOctavian Aspru oaspru Data 5 octombrie 2016 09:46:20
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <cstdio>
#include <algorithm>
 
using namespace std;
 
int phi[1000010];
 
int main ()
{
    freopen ("fractii.in", "r", stdin);
    freopen ("fractii.out", "w", stdout);
 
    int n;
    scanf ("%d", &n);
 
    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] = phi[j] / i * (i - 1);
 
    long long sum = 0LL;
    for (int i = 1; i <= n; ++i)
        sum += 1LL * phi[i];
 
    sum <<= 1LL;
    sum -= 1LL;
 
    printf ("%lld\n", sum);
 
    return 0;
}