计算机模拟古典概型
共7只理想的小球,3只红色,4只白色。每次从7只球中摸出一只,然后放回。求摸三次都是红球的概率。求摸三次都是白球的概率。————————————我是性感的分割线--————————————————————————————————————————————————————
我人工算出来是红球的概率为(3/7)^3,白球的概率是(4/7)^3
然后编程模拟如下:
#include"stdio.h"
#include"stdlib.h"
#include"time.h"
int main()
{
srand((unsigned int)time(NULL));
int i, a, b, c, x = 0, y = 0;
for (i = 0; i < 50000; i++)
{
a = rand() % 7;
b = rand() % 7;
c = rand() % 7;
if (a < 3 && b < 3 && c < 3)
x++;
if (a >= 3 && b >= 3 && c >= 3)
y++;
}
printf_s("%d %d\n", x, y);
printf_s("%lf%% %lf%%", x / 1500.0, y / 1500.0);
}
结果红色的球的概率与人工算的相符,白色的不一样。
已经找了一上午错误,仍然找不到~
求各位大神解救!