Pagini recente » Cod sursa (job #396252) | Cod sursa (job #890492) | preONI 2007, Runda 4, Clasa a 10-a | Cod sursa (job #3168919)
// https://www.infoarena.ro/problema/fractii
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
const int MAX_LENGTH = 1000001;
long long n;
long long phi(long long n)
{
long long count = 0;
int phi[MAX_LENGTH];
for (int i = 2; 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] = phi[j] / i * (i - 1);
}
}
count = count + phi[i];
}
return count;
}
int main()
{
fin >> n;
fin.close();
if (n < 1 || n > 1000000)
{
return 0;
}
fout << phi(n) * 2 + 1 << endl;
fout.close();
return 0;
}