Cod sursa(job #2765702)
Utilizator | Data | 29 iulie 2021 17:08:54 | |
---|---|---|---|
Problema | Fractii | Scor | 30 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.45 kb |
#include <fstream>
#define DIM_MAX 1000000
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
int phi[DIM_MAX];
int main() {
int n, i, j;
for (f >> n, i = 1; i <= n; ++i) phi[i] = i;
for (i = 2; i <= n; ++i) {
if (i == phi[i]) {
for (j = i; j <= n; j += i) {
phi[j] /= i;
phi[j] *= (i - 1);
}
}
}
int sol = 1;
for (i = 2; i <= n; ++i) sol += 2 * phi[i];
g << sol;
f.close();
g.close();
}