题目大意:
一个有n面的色子抛掷多少次能使所有面都能被抛到过,求期望值
总面数为n,当已经抛到过 i 个不同面时,我们抛出下一个不同面的概率为 (n-i)/n,那么抛的次数为 n/(n-i)
将所有抛出下个面的次数累加起来就好了
1 #include <cstdio> 2 int main(){ 3 int kase,n; 4 scanf("%d",&kase); 5 while(kase--){ 6 scanf("%d",&n); 7 double ans = 0; 8 for(int i = 1;i <= n;i++) ans += (n+0.0)/(i+0.0); 9 printf("%.2f\n",ans); 10 } 11 return 0; 12 }
SPOJ FAVDICE 数学期望
时间: 2024-10-03 22:40:35