本题其实就是leetcode这道题的改编:343. 整数拆分 - 力扣(LeetCode)
首先,如果X≤3,则不切割的收益是最大的,但是至少切一次,所以收益为X−1
当X>3时,我们就需要枚举X所有的切割情况,来取最大值
我们定义f[i]表示i的最大乘积,首先,如果i不做切割,则有f[i]=i
小友是一个游戏策划,他计划设计一个新人物,该人物的攻击模式较为特殊:他的附加攻击力可以拆分为n份(n ≥ 2),这n份的乘积作为最终伤害值。游戏总监认为该人物过于超模(过于强大),要求对其附加攻击力增加上限限制。
现在给你最终伤害值的上限和该人物的附加攻击力,请判断该人物的实际最终伤害值是否会超过给出的最终伤害值上限。
输入两个数值,第一个数值为最终伤害值上限,第二个数值为该人物的附加攻击力。
例如:2920 22
2920为最终伤害值的上限
22为该人物的附加攻击力
输出 true 或者 false
true 表示超过上限
false 表示未超过上限
最终伤害值上限不会超过 int 最大值
输入
1 2
输出
false
说明
最终伤害上限1
附加攻击力2
2 = 1 + 1
1 * 1 = 1
所以未超过上限
输入
161 14
输出
true
说明
14 = 3 + 3 + 3 + 3 + 2
3 * 3 * 3 * 3 * 2 = 162 > 161
所以超过上限
本题属于以下题库,请选择所需题库进行购买