原问题是这样的:

玩某游戏中,一个Boss死亡之后会随机掉落物品,一共有四种物品可能会掉落,Boss每次死亡之后都会掉落一种物品,四种物品掉落的概率完全相同。

现在需要收集其该Boss掉落的四件物品,完成某项任务。问:平均要杀死该Boss多少次才能凑满全部4个物品。

该问题实际上就是求boss掉落全部四个物品的数学期望,数学期望为值和概率之积的全和。

s=4*p(4) + 5*p(5) + … + n*p(n);

问题的关键就在于如何求解p(n);

很明显,p(n)的值为刚好在第n次杀死boss的时候掉落出最后一件物品,之前的n-1次都是掉落其他3种物品,这样才符合题意。

于是:  其中ps表示“挑出的3种物品在前n-1个事件发生时候的出现的可能排列数”,他必须满足1、三种物品必须全部出现;2、不能重复计算出现过的情况;

于是讨论这个子问题:前n-1个事件中,恰好出现三种物品的排列数

有三种可能:

1、全部是一种物品:   共3种排列

2、恰好由两种物品构成: 共

3、恰好有三种物品构成 :

第三种情况恰好就是我们子问题的解

所以:

然后利用分项错开计算。计算无穷小数列的值。

最后可得:期望值为8.33左右

附上代码:

代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
// 一个BOSS掉4个装备,每杀死次BOSS都只掉1个,
// 4个装备掉的几率相等,问同一玩家要凑齐4个装备平均要杀多少次BOSS?

namespace Boss
{
class Program
{
static Random rd = new Random();
static bool test( int [] a)
{
for ( int i = 0 ; i < a.Length; i ++ )
{
if (a[i] != 1 )
return true ;
}
return false ;
}
static int sim()
{
int [] a = { 0 , 0 , 0 , 0 };
int i = 0 ;
while (test(a))
{
a[rd.Next( 0 , 4 )] = 1 ;
i ++ ;
}
return i;
}
static void boss1()
{
double sum = 0 , summ = 0 ;
int COUNT = 1000000 ;
for ( int j = 0 ; j < 10 ; j ++ )
{
for ( int i = 0 ; i < COUNT; i ++ )
{
sum += sim();
}
sum /= COUNT;
summ += sum;
}
Console.WriteLine( " 平均结果是:{0}; " , summ / 10 );
}

static void boss3()
{
double s1 = 27.0 / 64 , s2 = 3.0 / 8 , s3 = 3.0 / 64 ;
double tmp = 4 * (s1 - s2 + s3),s = 0 ;
for ( int i = 5 ;tmp > 0.00001 ;i ++ )
{
s += tmp;
s1 = s1 * 3 / 4 ;
s2 = s2 / 2 ;
s3 = s3 / 4 ;
tmp = i * (s1 - s2 + s3);
}
Console.WriteLine( " 计算和:{0} " , s);
}
static void Main( string [] args)
{
Console.WriteLine( " 模拟输出: " );
boss1();
Console.WriteLine( " 计算输出: " );
boss3();
}
}
}

转载于:https://www.cnblogs.com/hanyulcf/archive/2010/03/31/objectsofboss.html

Boss掉落物品问题相关推荐

  1. 卡拉赞各BOSS掉落物品---法师篇

    预测之靴                             转载于:https://blog.51cto.com/linxum/63406

  2. dnf鹰犬boss机器人_dnf鹰犬boss怎么打

    龙之女神和平BOSS怎么打 BOSS之家玩法介绍 在龙之女神游戏中,它们是邪恶势力里最贪婪的领主,它们永远都在搜刮宝藏,它们极为自信傲慢, 如往常一样,它们携带珍藏已久的宝物巡查领地.早有埋伏的冒险者 ...

  3. 鸿蒙渊boss,_17173天下3官网合作专区

    触发机制 每周三晚上19:30,在巨阙地图会刷新7个小怪--神灭·贪狼星君,击杀完这7只小怪,通往邪龙沉睡之地的NPC通道就会开启; 每周五晚上20:00,会固定刷新世界BOSS; 玩家通过敲击方块, ...

  4. 鸿蒙渊boss,全新世界boss:邪龙沉睡之境——神藏天(必掉天书·黄!)

    原标题:全新世界boss:邪龙沉睡之境--神藏天(必掉天书·黄!) 神藏天触发机制 每周三晚上19:30,在巨阙地图会刷新7个小怪--神灭·贪狼星君,击杀完这7只小怪,通往邪龙沉睡之地的NPC通道就会 ...

  5. 鸿蒙渊boss,新boss:邪龙沉睡之境“神藏天”攻略

    触发机制 每周三晚上19:30,在巨阙地图会刷新7个小怪--神灭·贪狼星君,击杀完这7只小怪,通往邪龙沉睡之地的NPC通道就会开启: 每周五晚上20:00,会固定刷新世界BOSS: 玩家通过敲击方块, ...

  6. java单机游戏热血江湖_热血江湖V8.0单机版游戏源码

    热血江湖 V8.0 单机版游戏源码 游戏的任务系统已经开发完善,7.0 和 8.0 任务均已添加, 数据编辑的功能包括物品编辑.掉落管理.宝盒管理.商店管理.任务编辑.石头属性设置.公告管理.武功数据 ...

  7. 龙ol服务器维护补偿boss,龙OL副本BOOS位置攻击属性及掉落物品介绍

    <龙OL>六大副本BOOS位置.攻击属性及掉落物品介绍 一.无回洞穴 无回洞穴位于玄天龙城,通过传送石可到达,为15级可进入副本,推荐等级20级以上三人组队轻松通关,两次清完本副本所有任务 ...

  8. 新寻仙霸下boss击杀方法及掉落物品刷新时间图文介绍

    新寻仙新版本霸下来袭新增了"霸下boss",击杀它可以获得丰厚奖励,具体怎么打霸下boss?它会掉落什么奖励?一起来看看具体的活动介绍吧!   霸下boss刷新时间:   &quo ...

  9. java怪物掉落_我的世界地下城boss打法及掉落物品一览

    唤魔者 生成 自然生成 唤魔者会在林地府邸生成时生成.他们在最初生成后不会再次生成.在林地府邸生成的唤魔者不会自然消失,除非将世界切换为和平模式.‌‌[仅JE] 唤魔者会罕见地作为袭击队长生成.‌‌[ ...

最新文章

  1. numpy的深复制与浅复制的区别_浅谈数据备份与复制对于企业用户的区别
  2. php常用linux命令httpd,Linux常用的100个命令
  3. Apple着手抛弃32位macOS应用程序
  4. Mars 算法实践——人脸识别 1
  5. 教你如何用Keras搭建分类神经网络
  6. EM算法最完整易懂讲解
  7. Chocolatey 简介(软件自动化管理工具)
  8. CentOS7安装后没网络的解决方法
  9. SublimeText3 插件的使用和本身的配置
  10. JupyterLab的安装笔记
  11. iOS Coding项目片段记录(五)
  12. 每日学习笔记(17)
  13. mysql 最后行加汇总_[mysql系列]6.幻读和间隙锁
  14. tf卡可以自己裁剪成nm卡_真假TF卡鉴定方法
  15. matlab语法复习
  16. 泛微oa 明细数据合计
  17. 泛微OA流程自动汇总触发(流程触发集成)
  18. 前端性能优化的七种方法
  19. Description Resource Path Location Type The import collides with another import statement
  20. Java实现输出水仙花(易懂)

热门文章

  1. CSDN每日一练:蛇形矩阵
  2. python3下的webpy运行详解——webpy,session,cookie
  3. 关于Matplotlib作图时中文字体无法显示问题
  4. 微贷网java高级开发工程师
  5. 二级建造师学python有用_终于清楚python入门最好的教程
  6. 中国己内酰胺市场前景策略分析与投资调研评估报告2022年版
  7. css33d图片轮播_手把手教你用纯css3实现轮播图效果实例
  8. 国外 PhD 多读几年有哪些利弊?
  9. 用ps魔棒工具选区域和改变区域颜色
  10. JMeter教程1 - 介绍环境搭建 (Mac)插件安装