Pagini recente » Cod sursa (job #2464289) | Cod sursa (job #1913291) | Cod sursa (job #2335082) | Cod sursa (job #516996) | Cod sursa (job #3276412)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
const int SIZE = 1000000;
int n;
int phi[SIZE + 5];
void read();
void solve();
int main()
{
read();
solve();
return 0;
}
void read()
{
fin >> n;
}
void solve()
{
//un ciur pt phi(n) - indicatorul lui Euler
for(int i = 2; i <= SIZE; ++i)
phi[i] = i - 1;
phi[0] = phi[1] = 1;
for(int i = 2; i <= SIZE; ++i)
for(int j = 2 * i; j <= SIZE; j += i)
phi[j] -= phi[i];
int64_t rez = 0;
for(int i = 1; i <= n; ++i)
rez += phi[i];
fout << rez * 2LL - 1;
}