Pagini recente » Cod sursa (job #634223) | Cod sursa (job #1299178) | Cod sursa (job #1119615) | Cod sursa (job #2116329) | Cod sursa (job #1894208)
#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;
}