我必须编写一个程序,用四个基本操作求解方程式。 该计划必须如下:
示例输入:
SET a = 1
SET b = 3
SOLVEFOR c ( 4 * ( b - c + 2) + a ) = ( 2 - a )
输出:
c = 5.000000
我正在使用反向波兰表示法来评估等式右边的值(我知道那里只有已知数字的事实)。 至于左侧,这是我的问题。我知道必须有一种方法来修改RPN以获得该变量,但我不知道应该如何完成它。有什么建议?
编辑:我知道这可以用二叉树完成,但我正在尝试使用RPN。答案 0 :(得分:0)
如果你可以用二叉树解决,你可以用RPN解决。
首先在纸上绘制二叉树的解决方案。当你看到它时,更容易思考。您将在树上进行重新平衡操作,而不会影响方程式结果。
一旦未知在左侧被隔离,你就完成了。每个重新平衡操作在RPN中都有一个等效的操作(这是树的平面表示)。
当你看到所绘制的解决方案时,洞察力将会出现。