Я пытаюсь понять, как калькулятор RPN должен работать в случае одного аргумента и одного операнда, например. делить или умножать.
Я знаю, как это должно работать в простых случаях, например.
> 1
1
> 3
3
> +
result: 4
explanation: 1 + 3 = 4
Очевидно, как это работает
Случай 2 сложнее, но также и хорош clear
7 2 3 * −
result: 1
explanation: 7 - (2 * 3) = 1
Итак, я знаю, как это работает в принципе.
Меня интересуют эти варианты использования.
4 -
result: -4
Так что в случае одного аргумента , это должно преобразовать число в отрицательную форму. В случае '+' мы ничего не будем делать
Но как оно должно вести себя в этих случаях?
4 /
или
4 *
Должен ли я напрямую сделать математическую операцию с тем же номером? Например:
4 / === 4 / 4
4 * === 4 * 4
Спасибо за любую помощь!
PS Извините за глупый вопрос, но я впервые столкнулся с этой вещью
ОБНОВЛЕНИЕ: Кроме того, как насчет случай использования, когда пользователь вводит неверные данные. Например. что-то вроде этого?
1 + 3 - 5 * 3 /
По умолчанию он завершает процесс или не позволяет пользователю продолжать вводить неверные данные, пока не будет введен правильный и действительный аргумент?