题意:有n种蘑菇,采到每一种蘑菇的概率是一样的。求采到所有蘑菇的期望。
思路:期望是概率的倒数。那在已经采了i种蘑菇的情况下,采到第(i+1)的概率为:(n-i)/n,所以此次的期望为n/(n-i);累加求和即可
代码如下:
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <cstring>
using namespace std;
int main(void)
{
int n;
while(scanf("%d", &n) != EOF){
double ans = 1;
for(int i = 1; i < n; ++i)
ans += (double) n / (double) i;
printf("%f\n",ans);
}
return 0;
}