Pagini recente » Cod sursa (job #1318417) | Cod sursa (job #2683200) | Cod sursa (job #780111) | Cod sursa (job #609648) | Cod sursa (job #2738043)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
vector<int> phi;
void totient(int n) {
for (int i = 0; i <= n; i++)
phi[i] = i;
for (int i = 2; i <= n; i++) {
if (phi[i] == i) { // if i is prime
for (int j = i; j <= n; j += i)
phi[j] -= phi[j] / i;
}
}
}
int main() {
ifstream fin("fractii.in");
ofstream fout("fractii.out");
int n;
fin >> n;
phi = vector<int>(n + 1);
totient(n);
long long count = 1;
for (int i = 2; i <= n; i++) {
count += 2 * phi[i];
}
fout << count;
}