给定一个算术表达式,可以包括括号(()),指数(^),除法(/)和乘法(*),加法(+)和减法(-)(按该操作顺序),例如
a ^ (2 / 3) * 9 * 3 - 4 * 6
以前缀表示法输出相同的表达式。
(- (* (* (^ a (/ 2 3)) 9) 3) (* 4 6))
输入和输出中的空格都是可选的。您可以假定所有运算符都是左关联的,并且表达式中的所有数字都是一位整数(即[0-9])。
这是一场代码挑战赛,因此最短的解决方案将获胜。
另外,您在操作列表中省略了除法。
—
PhiNotPi 2012年
括号在输出中是可选的吗?
—
Ali1S232
@KeithRandall
—
彼得·奥尔森
*和amd /具有相同的优先级。+-
@Gajet不,不是。
—
彼得·奥尔森
3+4-5+6 = (((3+4)-5)+6)还是((3+4)-(5+6))?