用c语言随机试验求 值,概率论与数理统计上机实习题目.doc

概率论与数理统计上机实习题目

一、 某人写了n封信,又写了n个信封,然后将这n封信随机地装入这n个信封中,用Pn表示至少有一封信装对的概率。

1.编制程序,用随机数模拟至少20000次,求当n=10时,Pn的值。

2.重复第一步,画出n=2,3,…,50时,Pn的散点图。

解:

1.用C语言编程序。

以1~10的从小到大的排列为这10个信封的位置储存在数组a[10]中,用C语言中的随机数生成函数生成一组10个无重复的1~10之间的数的随机序列储存在数组b[10]中。把数组b中的元素从b[0]到b[9]分别与a[0]到a[9]比较大小,若比较到某一对元素相同则已可表示“至少有一封信装对”事件发生,停止本次试验并进行下一次试验,直至试验了20000次,用m来计算20000次试验中“至少有一封信装对”发生的次数。由程序运行的结果(见下图)可知n=10时Pn=0.628550

程序代码如下:

#include

#include

#include

int main()

{

int i,j,k,m=0,a[10]={1,2,3,4,5,6,7,8,9,10},b[10];//a[10]代表10封信.b[10]是10个信封,随机生成一组1~10的数.

double Pn;

time_t t;

srand((unsigned) time(&t));//用来生成随机数.

for(i=1;i<20001;i++)//进行20000次随机模拟;

{

printf("第%d次模拟试验中每封信的位置:",i);

for(j=0;j<10;j++)

{

b[j]=a[rand()%10];

k=0;

while(k

{

if(b[j]==b[k])

{

b[j]=a[rand()%10];

k=0;

}

else

k++;

}

printf("%3d",b[j]);//打印出来可以方便检查错误.

}

printf("\n");

for(j=0;j<10;j++)

{

if(b[j]==a[j])//检查信与信封是否配对.

{

m+=1;//一次模拟中一旦有一封信放对了则m增加1,不必再检查下去.

break;

}

else

continue;

}

}

Pn=1.0*m/20000;

printf("m=%d,Pn=%f\n",m,Pn);

}

2.求n为2~50的Pn与n=10时相同,只需把n=10修改成相应的数值即可。下表是n为2~50时的Pn值表:

nPn20.500650 30.658050 40.628650 50.621200 60.633450 70.629550 80.631000 90.627400 100.628550110.627050 120.636800 130.641700 140.624150 150.629850 160.628800 170.627700 180.637850 190.629700 200.629950 210.633300 220.631000 230.629050 240.626600 250.631000 260.631800 270.634800 280.626800 290.632550 300.635200 310.633800 320.635300 330.637300 340.628200 350.634050 360.632500 370.627900 380.628400 390.632000 400.636000 410.630700 420.630850 430.630450 440.637450 450.630300 460.632650 470.626950 480.628700 490.630100 500.636500 由此表数据用Excel处理可得Pn的散点图如下:

二、 设X1,X2,…,Xn相互独立且都服从区间[0,1]上的均匀分布,为区间[0,1]上的一个可积函数由大数定律可知依概率收敛于=,编制程序,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值