一个完全没用的问题:我买了一个数字游戏,它是由两个黑色骰子加上 5 个彩色骰子组成的。两个黑色的组成一个 2 位数字,范围从 11 到 66,另外 5 个是您可以使用的数字,将它们以所有可能的数字表达式与任务结合以获得目标数字。
比如黑40+2:目标42
彩色 5 3 6 2 4,可以通过 5 3 + 6 * 4 2 + - 获得目标(使用 RPN,因为它避免了括号)。
现在我想用我的袖珍电脑在我们玩游戏的时候找到最佳答案。
我必须说我还没有真正考虑过解决方案,我只是寻找关于寻找参数排列的部分,但是如何从中生成可能的表达式?我会使用 RPN 并枚举所有可能的表达式“形状”,然后用 +-*/ 填充空格。
我不认识枚举表达式形状的问题。
输出将是这样的: .....xxxx ....x.xxx ...x..xxx ..x...xxx ....xx.xx ...xxxx ..x..x .xx ...xx..xx ..xx.xx ....xxx.x ...x.xx.x ..x..xx.x ...xx.xx ..xxxx
像: ..xx...xx ...xxx..x ..x.xx..x ..x.xx..x 是无效的,因为第二个或第三个运算符会找到一个操作数。
我可以使用硬编码列表,但它看起来真的很难看!