【题目链接】
【思路要点】
- 补档博客,无题解。
【代码】
#include<bits/stdc++.h> using namespace std; #define MAXN 10005 double f[MAXN], g[MAXN]; int main() { int n; scanf("%d", &n); double m = n; for (int i = 1; i <= n; i++) { f[i] = f[i - 1] + m / (m - i + 1); double tmp = f[i - 1] + 1 + (m - i + 1) / m * g[i - 1] + (i - 1) / m * (f[i] - f[i - 1]); g[i] = tmp * m / (m - i + 1); } printf("%.2lf\n", g[n]); return 0; }