题意
在a+b扇门,a扇后面是牛,b扇后面是车。在你选择一扇门后,主持人为你打开另外c扇门(一定是奶牛的门),然后你再选一扇,
求打开门后是车的概率
分析
其实原题还有很长的一段说有3扇门,1扇是车,2扇是奶牛,你可以选择不换门,但一定换门后,得车的概率是2/3
为什么呢?因为你选错奶牛门的概率是2/3,所以换门后得车的概率也是2/3
那么推广出去怎么做呢?两种情况
- 先开始选了奶牛(概率为a /(a+b)),开c扇门后,剩下的a+b-c-1扇未知,有b扇是车。于是选到车的概率是(a /(a+b))*(b/(a+b-c-1))
- 先开始选了车(概率为b /(a+b)),开c扇门后,剩下的a+b-c-1扇未知,有b-1扇是车。于是选到车的概率是(b /(a+b))*((b-1)/(a+b-c-1))
而这是两种互不影响的情况,因此根据全概率公式,加起来即可。
代码
#include<bits/stdc++.h> using namespace std; int a,b,c; double ans1,ans2; int main() { while(scanf("%d%d%d",&a,&b,&c)==3) { double tmp1=1.0*a /(a+b);ans1=tmp1*b/(a+b-c-1); double tmp2=1.0*b /(a+b);ans2=tmp2*(b-1)/(a+b-c-1); printf("%.5lf ",ans1+ans2); } return 0; }