我有一个程序,它接受一个简单的线性方程式,并将其转换为后缀中的等效方程式。
例如:
3x+7=4(2x-1)
将转化为
3 x * 7 + = 4 2 x * 1 - *
如何使用其后缀形式在此示例中获取x的值。非常感谢任何帮助,谢谢
编辑 - 我需要逻辑而不是代码的帮助(我不是要求人们为我做代码)
答案 0 :(得分:0)
如果你的线性方程在x方面总是采用右手边(RHS)的形式,而在x方面则是左手边(LHS),那么以下方法就可以了。
从LHS和RHS中减去LHS。然后你在LHS上有0,在RHS上用x表示。
开始简化后缀表达式。每次使用数字操作数进行加法或减法运算时,请根据需要在LHS中添加或减去该值,并将计算中的操作数替换为0。
最后你应该留下一个b = a * x形式的等式。解决方案(如果存在并且是唯一的)则是b / a。
答案 1 :(得分:0)
和代数一样,先把它简化成一个形式:
3 x * 7 + = 4 2 x * 1 - *
我们看到a = 2 x *
,然后是b = a 1 -
,离开4 b *
。将 b
中的每一项相乘:
3 x * 7 + = 2 4 * x * 1 4 * -
3 x * 7 + = 8 x * 4 -
在左边做同样的事情:
3 7 / x * 1 + = 8 x * 4 -
现在通过删除顶级 1 +
或以其他方式改变一些顶级加法,从每一边减去 1:
3 7 / x * = 8 x * 5 -
并减去8 x *
:
3 7 / x * 8 x * - = 0 5 -
移动事物并乘以-1:
8 x * 3 7 / x * - = 5
注意:乘以 -1 很容易。代数符号:
(a - b) * -1 = (0 + (a - b)) * -1
(a - b) * -1 = -1*0 + (-1*a - -1*b)
(a - b) * -1 = 0 + (-a - -b)
(a - b) * -1 = (-a + b)
(a - b) * -1 = b - a
我曾尝试用它来修正线性代数中的一个错误,但在测试中丢了几分,因为老师说我不能只要求 -(a-b) = (b-a)
,所以我必须证明 {{1} } 我猜。
在反向润色中,0-x = -x
。因为 a b - 0 - = b a - 0 +
很常见,所以对乘法重新排序:
x
两边除以8 3 7 / - x * = 5
53 7 / x * = 5
:
53 / 7
求解 x = 5 53 7 / *
x = 5 53 * 7 /
x = 265 7 /
x = 37 6 7 / +
。