我浏览了这里,发现了类似但不能求解方程的问题。这就是我想要做的。我需要能够确定一组方程式,这些方程式可能可用于求解一组输入参数和结果。我将永远知道输入和结果。由于缺少更好的术语,我需要找出一种方法来解决解决方案。
例如:
输入参数:5,1,1,2
结果:8
我想输入这些数字和结果并得到类似的东西:
FirstNumber(5) * (SecondNumber(1) + ThirdNumber(1)) - FourthNumber(2) = 8
FirstNumber(5) * FourthNumber(2) - SecondNumber(1) - ThirdNumber(1) = 8
显然它可能很复杂,给定更多的数字可能有许多可能的解决方案。我的一般问题是关于可行性。
最佳答案
这实际上是一个很难解决的任务。
首先 - 您必须能够使用 +-*/
和 ()
求解任何方程。怎么做?您必须使用这些运算符创建树状结构并能够计算结果。
完成此任务后,您可以开始生成所有可能发生的可能性。 Backtracking实际上非常有用,因为它会自动删除不会导致任何结果的路径,并且通过适当的实现它会找到所有可能的解决方案。
关于java - 给定一组输入和一个结果,我将如何获得用于获得结果的方程式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47915692/