Pagini recente » Cod sursa (job #2651008) | Cod sursa (job #141425) | Cod sursa (job #1980830) | Cod sursa (job #1387636) | Cod sursa (job #2208797)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
const int NMAX = 1000000;
long long phi[NMAX + 5];
int main()
{
int n;
fin >> n;
fin.close();
// phi(n) = n * ((p1 - 1) / p1) * ((p2 - 1) / p2) * ... * ((pn - 1) / pn);
for(int i = 1; i <= n; i++) phi[i] = i;
for(int i = 2; i <= n; i++) {
if(phi[i] == i) {
phi[i]--;
for(int j = 2 * i; j <= n; j += i)
phi[j] *= (i - 1), phi[j] /= i;
}
}
long long sol = 0;
for(int i = 1; i <= n; i++) sol += phi[i];
fout << 2 * sol - 1;
fout.close();
return 0;
}