Pagini recente » Cod sursa (job #1088952) | Cod sursa (job #429060) | Cod sursa (job #1303811) | Cod sursa (job #3143916) | Cod sursa (job #2177982)
#include <iostream>
#include <fstream>
#define dMAX 1000005
using namespace std;
int n, phi[dMAX];
unsigned long long int S;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
void GeneratePhi() {
int i, j;
for (i = 1; i <= dMAX; i++) phi[i] = i;
for (i = 2; i <= dMAX; i++) {
if (phi[i] == i) {
for (j = i; j <= dMAX; j += i) {
phi[j] /= i;
phi[j] = phi[j] * (i - 1);
}
}
}
for (i = 2; i <= dMAX; i++) {
phi[i] *= 2;
}
}
int main()
{
fin >> n;
GeneratePhi();
for (int i = 1; i <= n; i++) {
S += phi[i];
}
fout << S;
return 0;
}