本帖最后由 星之子 于 2024-10-20 00:27 编辑
动机
我也不知道我的脑子大半夜在抽什么疯,总之就是突然想想看看自己离一帖生三魂还有多远,就简单写了一小段R。
发完帖回来编辑:这帖一个都没生(悲)
使用方法
修改m和n参数,其中m代表含【2%发帖+1灵魂】词条勋章的数量,同理n则是【1%发帖+1灵魂】。
改完参数之后,运行代码即可输出(个人感觉四黄蛋概率太过渺茫、没有统计学意义,所以只到了三黄蛋,如果有需要,可以依葫芦画瓢自行添加一行)。
一帖至少3魂的概率为: 0.000752377 平均主题数: 1329.121
一帖至少2魂的概率为: 0.01471589 平均主题数: 67.95375
一帖至少1魂的概率为: 0.1745055 平均主题数: 5.730479 寄,1329帖感觉要发到下辈子(这是可以说的吗
代码
- # 至少成功k次
- KSouls <- function(m, n, k) {
- # 成功率为2%的实验次数和1%的实验次数
- prob_m <- 0.02
- prob_n <- 0.01
- # 计算至少成功k次的概率
- total_prob <- 0
- for (i in 0:m) {
- for (j in 0:n) {
- if ((i + j) >= k) {
- # 计算m次成功i次的概率和n次成功j次的概率的乘积
- prob_i <- dbinom(i, m, prob_m)
- prob_j <- dbinom(j, n, prob_n)
- total_prob <- total_prob + (prob_i * prob_j)
- }
- }
- }
- return(total_prob)
- }
- # 参数m和n分别是2%魂和1%魂勋章的数量 执行前在此处修改
- m <- 8
- n <- 3
- cat("一帖至少3魂的概率为:",KSouls(m, n, 3),"平均主题数:",1/KSouls(m, n, 3),"\n")
- cat("一帖至少2魂的概率为:",KSouls(m, n, 2),"平均主题数:",1/KSouls(m, n, 2),"\n")
- cat("一帖至少1魂的概率为:",KSouls(m, n, 1),"平均主题数:",1/KSouls(m, n, 1),"\n")
复制代码
R语言虽然比较冷门,但解决概率论问题的时候还是蛮舒服的。而且本身相对轻量,用什么包就装什么包。
我个人是用部署在本地的R和R Studio,但在线工具也很好找。随便在Google搜索,比如关键词“在线运行R”,就能搜出一大片。
我这里也是在搜的几个中,随便挑了一个界面看着好看点儿的点击直达,效果如下:
来自群组: 星象占卜 |