Cod sursa(job #3333650)
| Utilizator | Data | 14 ianuarie 2026 19:07:08 | |
|---|---|---|---|
| Problema | Fractii | Scor | 50 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.61 kb |
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
#define MAXN 100002
int phi[MAXN];
int N;
long long ans;
int main()
{
fin >> N;
phi[0] = 0; phi[1] = 1;
for (int i = 2; i <= N; ++i) {
phi[i] = i - 1;
}
for (int i = 2; i <= N; ++i) {
for (int j = 2 * i; j <= N; j += i) {
phi[j] -= phi[i];
}
}
ans = 1LL;
for (int i = 2; i <= N; ++i) {
ans += 2LL * phi[i];
}
fout << ans;
return 0;
}
