我有一些数字 X (0-999) 和六个随机数 (<50)。
我需要程序使用带有括号的基本数学运算和这 6 个随机数来自动找到数字 X(或者最接近 X 的数字,如果不可能找到 X)。
有人可以推荐我一种解决这个问题的方法吗?我在某处读到我应该使用后缀表示法和遗传算法,但我对其中任何一个都不太了解。
最佳答案
Postfix notation避免了使用支架带来的并发症。它允许您将方程建模为
- 六个数字的每个排列(总共
6!= 720
排列),后跟 - 五个运算符的每种组合,其中每个运算符都是四种选择之一(总共
4^5 = 1024
组合)
可能的方程总数为720*1024 = 737280
。所以我认为没有理由使用遗传算法,你可以简单地尝试所有的可能性。找到最佳后缀解决方案后,您需要使用适当的括号将其转换为中缀。
关于java - 需要程序使用基本数学运算和 6 个随机数自动找到数字 X,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41197485/