一个拥有
个面的骰子,期望投掷多少次才能保证每一面都至少出现过一次?
设随机变量
表示上述条件所需的投掷次数,求
设:
...
那么
即转化为求
了:
现在已经有
个面了,还需要期望投掷
次会有
个面
那么直接投掷出还没有出现的面的概率为
,投掷出已经出现过的面的概率为
几何分布:几何分布是离散型机率分布。描述第
次伯努利试验成功的机率。详细的说,是:
次伯努利试验,前
次皆失败,第
次才成功的概率。
概率:
期望:
方差:
所以
那么:
即
总代码:
#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define int long long
#define IOS ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define HelloWorld IOS;
signed main(){
HelloWorld;
int n; cin >> n;
double ans = 0;
for(int i = 1; i <= n; i ++){
ans += 1.0 / (n - i + 1);
}
ans = ans * 1.0 * n;
cout << fixed << setprecision(9) << ans << endl;
return 0;
}



京公网安备 11010502036488号