题意:给出7个数,求他们连续出现七个互不相同的数的期望;(这七个数相加的总和可以 >7)
解法:期望;
1.期望:根据题意,我们可以很容易地推出前七个数的期望:
7!×∏a[i]/∏6i=0(n-i), 其中 n=∑a[i];
但是,这只是考虑了 1~7 这段的期望值,那么 1~n 一共有 (n-6) 段长度为 7 的线段,所以上面那个公式还要乘上 (n-6) ;
所以得到最终公式:7!×∏a[i]/∏5i=0(n-i);
附上代码:
#include<cstdio> #include<cstring> #include<algorithm> #include<iostream> using namespace std; double a,sum,ans=5040; int main() { for(int i=1;i<=7;++i){ cin>>a; sum+=a; ans*=a; } for(int i=0;i<=5;++i) ans/=(sum-i); printf("%.3f",ans); return 0; }