Pagini recente » Cod sursa (job #2350162) | Cod sursa (job #592793) | Cod sursa (job #40017) | Cod sursa (job #3038245) | Cod sursa (job #3273002)
#include <iostream>
#include <fstream>
std::ifstream f("fractii.in");
std::ofstream g("fractii.out");
using namespace std;
typedef long long int ll;
const int nMax = 1e6 + 5;
int n;
ll fr[nMax];
bool ok[nMax];
void ciur()
{
ok[0] = ok[1] = true;
fr[0] = 0;
fr[1] = 1;
for (int i = 1;i <= nMax;i++)fr[i] = i;
for (int i = 2;i <= nMax;i++){
if (ok[i] == false){
fr[i] = i - 1;
for (int j = i * 2;j <= nMax;j+=i)fr[j] = fr[j] / i * (i - 1),ok[j] = true;
}
}
}
int main()
{
ciur();
f >> n;
ll rez = 0;
for (int i = 1;i <= n;i++)rez += fr[i];//,cout << fr[i] << " " << i << '\n';
rez *= 2;
rez--;
g << rez;
}