Cod sursa(job #3230529)
Utilizator | Data | 21 mai 2024 20:38:00 | |
---|---|---|---|
Problema | Fractii | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
#ifdef INFOARENA
freopen ("fractii.in", "r", stdin);
freopen ("fractii.out", "w", stdout);
#endif
int n;
ll sol = 0;
cin >> n;
vector<int> phi(n + 1);
for (int i = 1; i <= n; i++) {
phi[i] = i;
}
for (int i = 2; i <= n; i++) {
if (phi[i] == i) {
for (int j = i; j <= n; j += i) {
phi[j] /= i;
phi[j] *= (i - 1);
}
}
}
for (int i = 1; i <= n; i++) {
sol += phi[i];
}
cout << 2 * sol - 1 << "\n";
return 0;
}