#include<bits/stdc++.h>
using namespace std;
//设g[i]表示购买了i张邮票,买完剩下邮票需要的期望钱数.
//设f[i]表示拿到了i张邮票,要取完剩下邮票需要的期望次数.
//∴有n-i/n的几率拿到没有拿过的邮票,有i/n的几率拿到拿过的邮票.
//那么有:f[i]=((n-i)/n)*f[i+1]+(i/n)*f[i]+1.
// ((n-i)/n)*f[i]=((n-i)/n)*f[i+1]+1.
// f[i]=f[i+1]+((n-i)/n).
//又有:g[i]=(i/n)*(g[i]+f[i])+((n-i)/n)*(g[i+1]+f[i+1])+1.
// 即:g[i]=(i/(n-i))*(f[i]+1)+g[i+1]+f[i+1]+1.
long long n;
double f[10001],g[10001];
int main(){
scanf("%lld",&n);
for(long long i=n-1;i>=0;i--){
f[i]=f[i+1]+(double)(1.0*n/(n-i));
g[i]=(double)(1.0*i/(n-i))*(f[i]+1)+g[i+1]+f[i+1]+1;
}
printf("%.2lf",g[0]);
}
08-13
261
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
02-05
11-01
588
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
08-17
876
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交