C语言编一个随机数问题
来源:百度知道 编辑:UC知道 时间:2024/05/05 14:38:11
将n个球放入m个盒子中,设每个球落入各个盒子是等可能的,求有球的盒子数X的均值。
答案是 m*(1-(1-m)^n/m^n)
如何用C语言编程实现?
有FLASH就更好了,感谢!
编程让计算机多次重复做这个实验,求出这个实验的概率,应该是和理论答案相符的
C语言初学者,最好有源程序,谢了!
答案是 m*(1-(1-m)^n/m^n)
如何用C语言编程实现?
有FLASH就更好了,感谢!
编程让计算机多次重复做这个实验,求出这个实验的概率,应该是和理论答案相符的
C语言初学者,最好有源程序,谢了!
我采用m=100 n=100编写了代码,通过修改T 的值来改变实验次数..
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define T 10
void main( void )
{
int x[100];
int n,i,k,m;
long sum;
sum=0;
srand( (unsigned)time( NULL ) );
for (n=1;n<=T;n++)//做T次试验
{
m=0;
for (i=0;i<100;i++) x[i]=0;//盒子清0
for( i = 0; i <100;i++ ) //每循环丢一个球,共100个球
{
k=rand()%100+1;
//printf( " k=%d\n", k );
x[k]++;
}
for (i=0;i<100;i++) if (x[i]>0) m++;//算有球的盒子数
//printf("第%4d次实验有球的盒子数%d\n",n,m) ;
sum=sum+m;
}&