24小时热门版块排行榜    

查看: 1641  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

zyj8119

木虫 (著名写手)

[交流] 【转帖】一道面试题的monte carlo实现 已有4人参与

设想有一个报童他要以2分钱买进一张报纸,而以3分钱卖出,没有卖完的报纸不能退,他由经验得知:平均每天有十个顾客而顾客随机出现,他应当买进多少张报纸?       这里的随机一词首先意味着报童没有指望他按时出现的固定顾客,其次意味着在街道上从他身边走过的人中   某人向他买报和下一个人向他买报的可能性一样大   用计算机模拟报童和买报者(程序):
CODE:


//解题思路:用Monte   Carlo对此随机问题进行模拟
//10个顾客,每个顾客都是买与不卖,撒随机数,0-1之间, <0.5购买,否则不购买

#include   
#include   
#include   

void   main(void)
{
int   customernumber=10;         //顾客数
int   salenumber=0,salenumberall=0;                       //每天卖出报纸数,及10000天的总数
int   i,j;
double   randnumber;
double   result;                           //最终结果,估计5左右

for   (i=0;i <10000;i++)   {               //准备模拟10000天卖报纸,最后取平均,即每天的卖出数。估计为5
salenumber=0;
srand((unsigned)time(NULL));
for   (j=0;j randnumber=(double)rand()/32767;
if   (randnumber <0.5)
salenumber++;
}
cout < salenumberall+=salenumber;
}
result=(double)salenumberall/10000;
cout <
}

[ Last edited by zyj8119 on 2010-9-11 at 10:04 ]
回复此楼
好好学习,天天向上。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

manutdhk

木虫 (小有名气)


小木虫(金币+0.5):给个红包,谢谢回帖交流
显然如楼上两位版友所分析的,这个题目有不完善的地方。
平均每天10人买了报纸,说明泊松分布的平均值是10。然而有多少人路过呢?这是一个变数。路过的人要购买报纸的意愿是多大呢?这个也很难交代清楚。
4楼2010-10-11 11:10:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zyj8119 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见