题目大意:

一个有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 }

 

 posted on 2014-08-11 15:15  Love风吟  阅读(184)  评论(0编辑  收藏  举报