Cod sursa(job #3221859)
Utilizator | Data | 8 aprilie 2024 11:20:48 | |
---|---|---|---|
Problema | Fractii | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
int n, phi[1000002];
long long r;
static inline void Phi(int n) {
for(int i = 1; i <= n; i++) phi[i] = i;
for(int i = 2; i <= n; i++) {
if(phi[i] == i) {
phi[i]--;
for(int j = 2 * i; j <= n; j += i) phi[j] = phi[j] / i * (i - 1);
}
r += phi[i];
}
}
int main() {
fin >> n;
Phi(n);
fout << 2 * r + 1;
return 0;
}