RPN calculator · RPN калькулятор
RPN calculator
In Reverse Polish Notation the operator comes after its two numbers: 2 3 + means 2 + 3, and 2 3 4 * + means 2 + (3 * 4) = 14. No brackets needed.
Use a stack (a list). Read tokens left to right: push numbers; when you hit an operator, pop the top two, combine them (mind the order — the first value popped is the right-hand side), and push the result. The answer is what's left on top.
RPN калькулятор
В обратной польской нотации оператор стоит после своих двух чисел: 2 3 + означает 2 + 3, а 2 3 4 * + означает 2 + (3 * 4) = 14. Скобки не нужны.
Используйте стек (список). Читайте токены слева направо: добавляйте числа в стек; когда встречаете оператор, извлеките верхние два элемента, объедините их (учитывая порядок — первый извлеченный элемент находится справа от оператора) и положите результат обратно. Ответ — то, что осталось сверху стека.
Write rpn_eval(tokens) that evaluates a list of Reverse Polish Notation tokens — integers written as strings and the operators +, -, *, /. Use a stack; / should truncate toward zero. Return the final integer. · Напишите rpn_eval(tokens), которая вычисляет список токенов обратной польской нотации — целые числа, записанные как строки, и операторы +, -, *, /. Используйте стек; / должен обрезать toward zero. Верните конечное целое число.
Click Run to see the output here. · Нажмите Запустить, чтобы увидеть результат здесь.