Cod sursa(job #1894208)

Utilizator delia_ioanaCeapa Delia Ioana delia_ioana Data 26 februarie 2017 16:52:05
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <iostream>
#include <vector>
#include <numeric>


using namespace std;

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

    int n;

    scanf("%d", &n);

    vector<int> v(n + 1);
    iota(v.begin(), v.end(), 0);

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

    printf("%d\n", accumulate(v.begin() + 2, v.end(), 0) * 2 + 1);

    return 0;
}