Pagini recente » Cod sursa (job #2123834) | Cod sursa (job #204125) | Cod sursa (job #1976778) | Cod sursa (job #1975486) | Cod sursa (job #3145437)
#include <bits/stdc++.h>
using namespace std;
int n;
vector <int> eulerInd;
void euler()
{
eulerInd.resize(n + 1);
for(int i = 1; i <= n; i ++)
eulerInd[i] = i;
for(int i = 2; i <= n; i ++)
{
if(eulerInd[i] == i)
for(int j = i; j <= n; j += i)
eulerInd[j] = eulerInd[j] * (i - 1) / i;
}
// for(int i = 1; i <= n; i ++)
// cout << i << " " << eulerInd[i] << "\n";
// cout << "\n";
}
int main()
{
ios_base :: sync_with_stdio(0);
cin.tie(0);
freopen("fractii.in", "r", stdin);
freopen("fractii.out", "w", stdout);
cin >> n;
euler();
int ans = 0;
for(int i = 1; i <= n; i ++)
ans += eulerInd[i];
cout << 2ll * ans - 1;
return 0;
}