Pagini recente » Cod sursa (job #1163428) | Cod sursa (job #2096948) | Cod sursa (job #2679688) | Cod sursa (job #322232) | Cod sursa (job #1906588)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 1e6 + 5;
long long phi[NMAX];
inline long long indicator_euler(int 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] /= i , phi[j] *= (i - 1);
long long ans = 0LL;
for (int i = 1; i<=n; ++i)
ans += 1LL * phi[i];
return ans * 2LL - 1LL;
}
int main()
{
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
int n;
scanf("%d", &n);
printf("%lld\n", indicator_euler(n));
return 0;
}