Pagini recente » Cod sursa (job #2233075) | Cod sursa (job #1466708) | Cod sursa (job #2961207) | Cod sursa (job #1480695) | Cod sursa (job #3145441)
#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] = 1ll * 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();
long long ans = 0;
for(int i = 1; i <= n; i ++)
ans += eulerInd[i];
cout << 2 * ans - 1;
return 0;
}