Pagini recente » Borderou de evaluare (job #2033718) | Borderou de evaluare (job #408041) | Cod sursa (job #2163292) | Borderou de evaluare (job #2823265) | Cod sursa (job #1456017)
#include <iostream>
#include <fstream>
#include <bitset>
const char IN[] = "fractii.in", OUT[] = "fractii.out";
const int NMAX = 1000000;
using namespace std;
int N;
int parts[NMAX];
int uses[NMAX];
long long gen() {
long long nr = 0;
for (int i = 2; i <= N; ++i) {
parts[i] += i - 1;
for (int j = i * 2; j <= N; j += i)
parts[j] -= parts[i];
nr += parts[i];
}
return nr * 2 + 1;
}
int main()
{
fscanf(fopen(IN, "r"), "%d", &N);
fprintf(fopen(OUT, "w"), "%lld\n", gen());
return 0;
}