题意:n 个盒子分别装有礼物,m 个人随机选择盒子,不论盒子里有无礼物都将空盒子放回原处,问被选走的礼物的期望。
分析:纯思维题,对于每个礼物不被人选中的概率为 ( ( n-1 ) / n ) ^ m ,那么不被选中的礼物数的期望就是 n * ( (n-1)/n ) ^ m 所以答案就是 n-n*((n-1)/n)^m;
代码:
#include<cmath>
#include<cstdio>
using namespace std;
int main()
{
int n,m;
while(~scanf("%d%d",&n,&m))
{
double tmp=(n-1)*1.0/n;
double ans=n-n*pow(tmp,m);
printf("%.10lf\n",ans);
}
return 0;
}