java - 需要程序使用基本数学运算和 6 个随机数自动找到数字 X

标签 java tree genetic-algorithm postfix-notation

我有一些数字 X (0-999) 和六个随机数 (<50)。

我需要程序使用带有括号的基本数学运算和这 6 个随机数来自动找到数字 X(或者最接近 X 的数字,如果不可能找到 X)。

有人可以推荐我一种解决这个问题的方法吗?我在某处读到我应该使用后缀表示法和遗传算法,但我对其中任何一个都不太了解。

最佳答案

Postfix notation避免了使用支架带来的并发症。它允许您将方程建模为

  1. 六个数字的每个排列(总共 6!= 720 排列),后跟
  2. 五个运算符的每种组合,其中每个运算符都是四种选择之一(总共 4^5 = 1024 组合)

可能的方程总数为720*1024 = 737280。所以我认为没有理由使用遗传算法,你可以简单地尝试所有的可能性。找到最佳后缀解决方案后,您需要使用适当的括号将其转换为中缀。

关于java - 需要程序使用基本数学运算和 6 个随机数自动找到数字 X,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41197485/

相关文章:

java - 如何从多列TreeViewer获取所有行数据

neural-network - 如何防止我的程序陷入局部最大值(前馈人工神经网络和遗传算法)

Python:我如何随机混合两个列表?

java - 尝试用java以奇怪的方式显示随机卡

java - 按顺序执行两个 Action

javascript - TypeScript 导出-导入约定

data-structures - 什么是树中根节点的级别?

database - 为什么在这个 B-Tree 查找中有两个叶节点?

json - Ext.JS 防止代理发送额外的字段

genetic-algorithm - 遗传算法的理想种群大小和迭代次数是多少