注意事项:无。 代码: 123456789101112131415161718192021bool notpr[MAXn + 10]; int cntpr, pr[MAXn / 10 + 100];int ola[MAXn + 10];void evaola(int n) { notpr[1] = 1; ola[1] = 1; for (int i = 2; i <= n; ++i) { if (notpr[i] == 0) { pr[++cntpr] = i; ola[i] = i - 1; } for (int j = 1, topprj = n / i; j <= cntpr && pr[j] <= topprj; ++j) { notpr[i * pr[j]] = 1; if (i % pr[j]) { ola[i * pr[j]] = ola[i] * (pr[j] - 1); } else { ola[i * pr[j]] = ola[i] * pr[j]; break; } } }}