要求抛掷n次中出现的最大的数字的数学期望,先算出每个数字成为最大的数字的概率,容易推得数字x出现的概率为 (x/m)^n - ((x-1)/m)^n,然后和数字相乘再加起来就是结果了。
#include<cstdio>
#include<cmath>
int m,n;
double probability(int x)
{
return pow(x/(double)m,n)-pow((x-1)/(double)m,n);
}
int main()
{
scanf("%d%d",&m,&n);
int i;
double ans=0;
for(i=1;i<=m;i++) ans+=probability(i)*i;
printf("%.12lf\n",ans);
return 0;
}