这个昵称我想了20分钟 2022-05-16 11:57 采纳率: 50%
浏览 129
已结题

挑苹果问题,帮我看看好吗

蒙特卡洛算法:假如篮子里有苹果,苹果个数可自己选择输入1到1000之间的数,让你每次闭着眼睛找一个最大的,可以不限制挑选次数。于是,你可以闭着眼随机拿了一个,然后再随机拿一个与第一个比,留下大的,再随机拿一个,与前次留下的比较,又可以留下大的。循环往复这样,拿的次数越多,挑出最大苹果的可能性也就越大,但除非你把所有苹果都挑一遍,否则你无法肯定最终挑出来的就是最大的一个。分别可以求出得到最大苹果,第二大苹果和第三大苹果的概率。

  • 写回答

1条回答 默认 最新

  • 懒羊羊的南瓜屋 2022-05-16 14:16
    关注

    我说下大概思路吧。
    假设苹果个数为n,可选择的总次数为m,m<=n
    代码里循环测试10000次(次数可以自己定义),第i次循环时,新建n个随机数,如果前m个随机数里包含最大的数字,记:p1[i]=1,否则p1[i]=0,如此标记第二大的和第三大的:p2[i],p3[i]。
    最后,p1,p2,p3 求和后除以总次数10000,就是最大苹果,第二大苹果和第三大苹果的概率。
    理论上次数越大,值越精确。

    如果答案符合,请采纳,谢谢

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月23日
  • 修改了问题 5月16日
  • 创建了问题 5月16日