游戏开发论坛

 找回密码
 立即注册
搜索
楼主: guirenya

[讨论] 求解一道数值题

[复制链接]

10

主题

275

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
发表于 2006-9-9 02:58:00 | 显示全部楼层

Re:求解一道数值题

事实上只要1<N<B/C,就肯定可以.与A无关.

10

主题

275

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
发表于 2006-9-9 03:03:00 | 显示全部楼层

Re:求解一道数值题

换句话说,只要我的回血足够快,我的攻击力只要不是零就肯定能把怪物耗死,所以本题条件出了问题,变量和常量没有规定好.等楼主改好再给大家讨论一下吧.

71

主题

399

帖子

405

积分

中级会员

Rank: 3Rank: 3

积分
405
发表于 2006-9-9 07:39:00 | 显示全部楼层

Re:求解一道数值题

  rick1979,楼主已经说得很清楚,你看楼主最后一句。

0

主题

3

帖子

2945

积分

金牌会员

Rank: 6Rank: 6

积分
2945
发表于 2006-9-9 12:08:00 | 显示全部楼层

Re: Re:求解一道数值题

_yy: Re:求解一道数值题

  04年末来的处女贴,我不大认同你的观点,一个人是不可再分的(也许我的抽象能力不够),还有按照题意你的...

共杀死玩家数=A*N*1/B+A*(N-1)*1/B+…+A*1*1/B
=A/B*(N+N-1+N-2+...+1)=A/B*N*(N+1)/2
这个数是否大于1要看A/B的设定了。你怎么知道小于1啊?;)N*(N+1)/2这个数可是至少大于1噢,如果A/B小于1的话那不用算也知道玩家一个怪也打不过吧,呵呵。
随便说下这种做法的前提是每次玩家回血技能冷却时间到时能损失的生命大于技能恢复生命,也就是不考虑加血后生命值超过生命上限的情况。:)

10

主题

275

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
发表于 2006-9-9 13:47:00 | 显示全部楼层

Re: Re:求解一道数值题

_yy: Re:求解一道数值题

  rick1979,楼主已经说得很清楚,你看楼主最后一句。

又仔细看了看,还是和A无关。结论仍是1<N<B/C。

我还是写一下吧。

思路,只要在冷却时间内,最初N个怪物无法将玩家杀死,玩家必然胜利。
另怪物数为N,玩家血量H,怪物攻击力X。
则:
H=X*B
同时,C*N*X<H,N>=1。
解得,1<=N<B/C.

本题的特殊性在于100%回血,意味着回到初始状态,所以不需要进行太复杂的考虑,如果换成90%,80%……那就大大复杂了。

71

主题

399

帖子

405

积分

中级会员

Rank: 3Rank: 3

积分
405
发表于 2006-9-9 16:46:00 | 显示全部楼层

Re:求解一道数值题

jpid:
  你的A/B小于1的话那不用算也知道玩家一个怪也打不过吧有点错误,当加血时间大于A而A小于2B才有玩家一个怪也打不过,rick1979,你现在知道我的2怎么来的吧。
  你的就是不考虑加血后生命值超过生命上限的情况,楼主都说的是效果是恢复生命100%我认为是不能超过自己的生命值,要是能超过的话,我就要重新想了。
  你的则共杀死玩家数=A*N*1/B+A*(N-1)*1/B+…+A*1*1/B,题目要求的是请问玩家最多能够承受多少个这种类型的怪的围攻不死而最后可以将所有怪杀死?,在题目的第一句有设一个玩家杀死一个怪需要时间为A,我就以为是一个玩家了,看来我们的理解有出入。不过我认为你的解法没有动态的考虑,第八楼的madmonkey建议
rick1979: Re: Re:求解一道数值题
建议画个流程图看看。

应该比较清楚。


  rick1979:你的C*N*X<H,N>=1,当人把第一个怪杀掉时,怪的攻击力就会变少啊。而且当C*X大于H时,你如何保证N>=1?

10

主题

275

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
发表于 2006-9-9 23:27:00 | 显示全部楼层

Re:求解一道数值题

楼上还是没有理解我的解题思路。没错,杀掉一个怪后,怪的攻击力会少,但是,因为我前面说过了,由于100%回血的关系,我们只要考虑怪最多时,玩家能否“抗”住,能抗住,则后面就不必考虑了。10个怪都顶住了,9个难道会把玩家干掉?

还有关于后面“而且当C*X大于H时,你如何保证N>=1?”
_yy似乎陷在纯粹的数学方程中了。C*X>H的意义是说,一个怪,在冷却时间内,就把玩家干掉了。
另一方面,N>=1,不是我要去保证的,应该说,这是题目给出的已知条件。

请注意:
H=X*B,
C*N*X<H,
N>=1。
它们是一个方程式组,而不是结论,由他们解出的N的区间才是结论,可能我开始写的不规范,大家理解错了。
        

10

主题

275

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
发表于 2006-9-10 09:21:00 | 显示全部楼层

Re:求解一道数值题

关于本题,还是有句话要补充一下,大家请注意100%回血这个特殊条件。

在非100%回血情况下,楼上各位达人的思路基本上是正确的,要考虑玩家和怪的消耗比较,从而需要讨论N,N-1……等情况的递减状况。

而对于100%回血,则不需要。此时玩家处于“无损耗”状态--每次冷却时间的开始那一刻,对应的玩家血量都是满的。换句话说,这种情况下,在冷却时间内,玩家能“抗”住几个怪,是问题关键。

答案:1<=N<B/C,此时讨论关于B,C的具体数值设定,同时N取整数。而当B/C为整数时,在实际(注意,不是理论状态下)中我们可以认为,N=B/C----它的实际意义是说,玩家濒死前的一瞬间可以回血,刚刚好可以顶住这些怪的攻击,而由于现实中很难有这些怪恰好同时攻击玩家的情况,所以可以想象,实际中玩家在冷却结束时,还是会有些血 的,而不是刚刚好没血。

71

主题

399

帖子

405

积分

中级会员

Rank: 3Rank: 3

积分
405
发表于 2006-9-11 12:48:00 | 显示全部楼层

Re: Re:求解一道数值题

rick1979: Re:求解一道数值题
10个怪都顶住了,9个难道会把玩家干掉?

  真的是这样吗?
  你10个怪都顶住了,并杀死其中一个(你不可能每个怪轮流各打一下吧?人物的攻击是单个攻击),但你的血只剩一丁点,而你在不久前回过血,到下次回血时间还有很长,在从你杀死了一个怪到下次回血这段时间里,剩下的九个怪是否很容易把你干掉?

10

主题

275

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
发表于 2006-9-11 14:56:00 | 显示全部楼层

Re:求解一道数值题

楼上明显没有仔细考虑过这个流程,把问题想当然化了。

在玩家杀死一个怪,到下次回血这段时间,如果9个怪可以把玩家干掉,那么前面10个怪的时候,玩家早已经挂了。再仔细想想,你会明白的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-8-15 15:36

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表