SPOJ FAVDICE 数学期望

题目大意:

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

 

你可能感兴趣的:(poj)