把人看成小球,n个小球投入m个盒子,求投入的盒子数的期望
如果去求最终状态数就比较麻烦了
对于每一个盒子,n个小球都不投它的概率是(m-1/m)^n
所以m个盒子,有多少个盒子n个小球都不投它?
根据期望的可加性m*(m-1/m)^n
/*
SGU 495
题意:n个盒子里装有礼物,m个人随机选择礼物,选完之后空盒子放回
问选中的礼物数的期望。
m个人是独立的。
对于每个礼物不被人选中的概率为((n-1)/n)^m
那么不被选中的礼物数的期望就是 n*((n-1)/n)^m
所以答案就是 n-n*((n-1)/n)^m;
*/
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<math.h>
using namespace std;
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
{
double p=(double)(n-1)/n;
double ans=n-n*pow(p,m);
printf("%.10lf\n",ans);
}
return 0;
}