本文已参与「新人创作礼」活动,一起开启掘金创作之路。
题目
白球黑球作业03:袋中有a个黑球和b个白球,随机地每次从中取出一球,每次取后不放回,记事件A为“直到第k次才取到黑球”,其中1≤k≤b;事件B为“第7次取出的球恰好是黑球”,其中1≤k≤b。e (I)若a=5,b=3,k=2,求事件A发生的概率; (II)判断事件B发生的概率是否随k取值的变化而变化?并说明理由; (IIⅢ)比较a=5,b=9时事件A发生的概率与a=5,b=10时事件A发生的概率的大小,并说明理由。
【考点】条件概率与独立事件
解析
条件概率是指事件A在另外一个事件B已经发生条件下的发生概率。条件概率表示为:P(A|B),读作“在B的条件下A的概率”。 任何一个球都等可能的被在第i次被取到,于是第i次取哪个球(a+b种可能),第i次取黑球(a种可能),带古典概型公式得:第i次取得黑球概率是a/(a+b)。
代码
#include <stdio.h>
double C(int m, int n) {
double ret = 1.0;
for (int i = 1; i <= n; i++) {
ret *= (double)i;
}
for (int i = 1; i <= m; i++) {
ret /= (double)i;
}
for (int i = 1; i <= (n-m); i++) {
ret /= (double)i;
}
return ret;
}
double A(int m, int n) {
double ret = 1.0;
for (int i = 1; i <= n; i++) {
ret *= (double)i;
}
for (int i = 1; i <= (n - m); i++) {
ret /= (double)i;
}
return ret;
}
int main() {
int a, b, k;
//第一题
a = 5; b = 3; k = 2;
double pa = C(1, 3) * C(1, 5) / A(2, 8);
printf("第一题结果是:%f\r\n", pa);
//第三题 第一问
printf("第三题 第一问:\r\n");
double pa1, pa2;
for (k = 1; k <= 9; k++) {
pa1 = 5 * A(k - 1, 9) / A(k, 14);
pa2= 5 * A(k - 1, 10) / A(k, 15);
if (pa1 > pa2) {
printf("当k = %d 时,pa1 > pa2\r\n",k);
}
else
{
printf("当k = %d 时,pa1 < pa2\r\n",k);
}
}
return 0;
}