Дано арифметичний вираз, який може включати дужки ( ()
), експоненти ( ^
), ділення ( /
) і множення ( *
), додавання ( +
) і віднімання ( -
) (у такому порядку операції), наприклад
a ^ (2 / 3) * 9 * 3 - 4 * 6
вивести той самий вираз у позначенні префікса.
(- (* (* (^ a (/ 2 3)) 9) 3) (* 4 6))
Проміжки не є обов'язковими як для введення, так і для виводу. Можна припустити, що всі оператори лівоасоціативні і що всі числа у виразі є одноцифровими цілими числами (тобто [0-9]
).
Це кодове завдання для гольфу, тому найкоротше рішення виграє.
*
і /
мають той самий пріоритет, що і +
amd -
.
3+4-5+6 = (((3+4)-5)+6)
чи((3+4)-(5+6))
?