Pagini recente » Cod sursa (job #92294) | Monitorul de evaluare | Cod sursa (job #1043941) | Cod sursa (job #2456948) | Cod sursa (job #3345470)
#include <bits/stdc++.h>
#define int long long int
using namespace std;
long long euler_indicator[1000001];
int32_t main()
{
ifstream cin("fractii.in");
ofstream cout("fractii.out");
for(int i = 1; i <= 1000000; i++)
{
euler_indicator[i] = i;
}
for(int i = 2; i <= 1000000; i++)
{
if(euler_indicator[i] == i)
{
euler_indicator[i]--;
for(int j = i * 2; j <= 1000000; j += i)
{
euler_indicator[j] = euler_indicator[j] / i * (i - 1);
}
}
}
for(int i = 1; i <= 10; i++)
{
//cout << euler_indicator[i] << " ";
euler_indicator[i] += euler_indicator[i - 1];
}
int n;
cin >> n;
cout << "" << euler_indicator[n] + euler_indicator[n] - 1 << "\n";
}