You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

估算五枚骰子点数和在15-20间的概率:我的R代码是否正确?

代码错误分析与优化建议

你的代码没有语法错误,可以正常运行得到结果,但存在几个可改进的细节问题:

  • 注释错误:第二处注释写的是#sum the value of all 6 die,但你模拟的是5枚骰子,注释内容和实际逻辑不符,建议修正为#计算5枚骰子的点数之和。
  • 变量命名隐患:你用sum作为变量名,而sum是R的内置函数,当前虽不会报错,但后续若需调用sum()函数可能引发混淆,建议改用total_sum这类自定义名称。
  • 求和方式冗余:手动逐个相加mydie[1]+mydie[2]+mydie[3]+mydie[4]+mydie[5]完全可以用sum(mydie)替代,代码更简洁且不易出错。
  • 模拟次数不足:replicate(100)的模拟次数太少,得到的概率估算误差会很大,建议增加到至少10000次(比如replicate(10000)),这样结果会更接近真实概率。

优化后的代码示例:

myex <- replicate(10000, {
  # 创建5枚骰子的点数向量
  mydie <- sample(1:6, 5, replace = TRUE)
  # 计算5枚骰子的点数之和
  total_sum <- sum(mydie)
})
# 计算点数和在15到20之间的概率
mean(myex >= 15 & myex <= 20)

补充说明:通过组合数学计算可得,5枚骰子点数和在15-20之间的真实概率约为0.5,足够多的模拟次数会让估算值趋近于这个结果。

内容的提问来源于stack exchange,提问作者Benezer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 04:31:18