Dice (III)
题目链接: link.
原题描述
Given a dice with n sides, you have to find the expected number of times you have to throw that dice to see all its faces at least once. Assume that the dice is fair, that means when you throw the dice, the probability of occurring any face is equal.
For example, for a fair two sided coin, the result is 3. Because when you first throw the coin, you will definitely see a new face. If you throw the coin again, the chance of getting the opposite side is 0.5, and the chance of getting the same side is 0.5. So, the result is
1 + (1 + 0.5 * (1 + 0.5 * …))
= 2 + 0.5 + 0.52 + 0.53 + …
= 2 + 1 = 3
输入
5
1
2
3
6
100
输出
Case 1: 1
Case 2: 3
Case 3: 5.5
Case 4: 14.7
Case 5: 518.7377517640
题意:有一个n面的骰子,每次投掷每个面都是等概率出现,求所有面都出现的期望投掷次数。
题目转化为假设现在已经有m个面投掷出来,要投出m+1个面的期望投掷次数。概率即为(n-m)/n,根据性质概率倒数即为期望n/(n-m)。n(1/1+1/2+1/3+1/4+……+1/n)。
概率期望的性质证明

#include <bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin>>t;
for(int i=1;i<=t;i++)
{
double sum=0;
int n;
cin>>n;
for(int j=1;j<=n;j++)
{
sum=sum+n*1.0/j;
}
printf("Case %d: %.9lf\n",i,sum);
}
return 0;
}
本文探讨了一个经典的概率问题——投掷n面骰子直到所有面至少出现一次的期望次数。文章给出了详细的数学推导过程,并提供了一段C++代码实现,用于计算不同面数骰子的期望投掷次数。
&spm=1001.2101.3001.5002&articleId=119166705&d=1&t=3&u=bce88aa40ddf41828306de990ca17c4a)
575

被折叠的 条评论
为什么被折叠?



