Boss掉落物品问题
原问题是这样的:
玩某游戏中,一个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.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掉落物品问题相关推荐
- 卡拉赞各BOSS掉落物品---法师篇
预测之靴 转载于:https://blog.51cto.com/linxum/63406
- dnf鹰犬boss机器人_dnf鹰犬boss怎么打
龙之女神和平BOSS怎么打 BOSS之家玩法介绍 在龙之女神游戏中,它们是邪恶势力里最贪婪的领主,它们永远都在搜刮宝藏,它们极为自信傲慢, 如往常一样,它们携带珍藏已久的宝物巡查领地.早有埋伏的冒险者 ...
- 鸿蒙渊boss,_17173天下3官网合作专区
触发机制 每周三晚上19:30,在巨阙地图会刷新7个小怪--神灭·贪狼星君,击杀完这7只小怪,通往邪龙沉睡之地的NPC通道就会开启; 每周五晚上20:00,会固定刷新世界BOSS; 玩家通过敲击方块, ...
- 鸿蒙渊boss,全新世界boss:邪龙沉睡之境——神藏天(必掉天书·黄!)
原标题:全新世界boss:邪龙沉睡之境--神藏天(必掉天书·黄!) 神藏天触发机制 每周三晚上19:30,在巨阙地图会刷新7个小怪--神灭·贪狼星君,击杀完这7只小怪,通往邪龙沉睡之地的NPC通道就会 ...
- 鸿蒙渊boss,新boss:邪龙沉睡之境“神藏天”攻略
触发机制 每周三晚上19:30,在巨阙地图会刷新7个小怪--神灭·贪狼星君,击杀完这7只小怪,通往邪龙沉睡之地的NPC通道就会开启: 每周五晚上20:00,会固定刷新世界BOSS: 玩家通过敲击方块, ...
- java单机游戏热血江湖_热血江湖V8.0单机版游戏源码
热血江湖 V8.0 单机版游戏源码 游戏的任务系统已经开发完善,7.0 和 8.0 任务均已添加, 数据编辑的功能包括物品编辑.掉落管理.宝盒管理.商店管理.任务编辑.石头属性设置.公告管理.武功数据 ...
- 龙ol服务器维护补偿boss,龙OL副本BOOS位置攻击属性及掉落物品介绍
<龙OL>六大副本BOOS位置.攻击属性及掉落物品介绍 一.无回洞穴 无回洞穴位于玄天龙城,通过传送石可到达,为15级可进入副本,推荐等级20级以上三人组队轻松通关,两次清完本副本所有任务 ...
- 新寻仙霸下boss击杀方法及掉落物品刷新时间图文介绍
新寻仙新版本霸下来袭新增了"霸下boss",击杀它可以获得丰厚奖励,具体怎么打霸下boss?它会掉落什么奖励?一起来看看具体的活动介绍吧! 霸下boss刷新时间: &quo ...
- java怪物掉落_我的世界地下城boss打法及掉落物品一览
唤魔者 生成 自然生成 唤魔者会在林地府邸生成时生成.他们在最初生成后不会再次生成.在林地府邸生成的唤魔者不会自然消失,除非将世界切换为和平模式.[仅JE] 唤魔者会罕见地作为袭击队长生成.[ ...
最新文章
- numpy的深复制与浅复制的区别_浅谈数据备份与复制对于企业用户的区别
- php常用linux命令httpd,Linux常用的100个命令
- Apple着手抛弃32位macOS应用程序
- Mars 算法实践——人脸识别 1
- 教你如何用Keras搭建分类神经网络
- EM算法最完整易懂讲解
- Chocolatey 简介(软件自动化管理工具)
- CentOS7安装后没网络的解决方法
- SublimeText3 插件的使用和本身的配置
- JupyterLab的安装笔记
- iOS Coding项目片段记录(五)
- 每日学习笔记(17)
- mysql 最后行加汇总_[mysql系列]6.幻读和间隙锁
- tf卡可以自己裁剪成nm卡_真假TF卡鉴定方法
- matlab语法复习
- 泛微oa 明细数据合计
- 泛微OA流程自动汇总触发(流程触发集成)
- 前端性能优化的七种方法
- Description Resource Path Location Type The import collides with another import statement
- Java实现输出水仙花(易懂)