1 条题解
- 
  1
参考答案:
#include<iostream> using namespace std; typedef long long LL; const int N = 1e6 + 10; LL phi[N], primes[N], st[N]; LL n; LL cnt, res; void f(LL n) { phi[1] = 1; for (int i = 2; i <= n; ++i) { if (!st[i]) { primes[++cnt] = i; phi[i] = i - 1; } for (int j = 1; primes[j] <= n / i; ++j) { st[primes[j] * i] = 1; if (i % primes[j] == 0) { phi[primes[j] * i] = primes[j] * phi[i]; break; } else phi[primes[j] * i] = phi[i] * (primes[j] - 1); } } } int main() { cin >> n; f(n); for (int i = 1; i <= n; ++i) res += phi[i]; cout << res << endl; return 0; } 
- 1
 
信息
- ID
 - 5367
 - 时间
 - 1000ms
 - 内存
 - 256MiB
 - 难度
 - 10
 - 标签
 - 递交数
 - 3
 - 已通过
 - 2
 - 上传者