Ctrl K

Калькулятор со скобками и четырьмя действиями

Сложная
Строка expr — корректное арифметическое выражение из неотрицательных целых чисел, знаков +, -, *, / и круглых скобок; между ними могут стоять пробелы. Вычислите его и верните результат. Действуют обычные правила: сначала скобки, затем умножение и деление, затем сложение и вычитание; действия одного приоритета выполняются слева направо. Деление целочисленное, с отбрасыванием дробной части (округление к нулю). Унарного минуса нет. Встроенные средства, которые вычисляют строку как выражение (например, eval), использовать нельзя.
Пример 1
expr="3*(7-2)/4" → 3

7 - 2 = 5, 3 · 5 = 15, 15 / 4 = 3,75 — дробная часть отбрасывается, остаётся 3.

Пример 2
expr="(1-9)/3+10" → 8

(1 - 9) / 3 = -8 / 3 = -2,67, округление к нулю даёт -2; -2 + 10 = 8.

Пример 3
expr="6 + 2 * 5" → 16

Умножение выполняется раньше сложения: 6 + 10 = 16.

Ограничения
  • 1 ≤ len(expr) ≤ 10⁴
  • expr состоит из цифр, +, -, *, /, (, ) и пробелов
  • expr — корректное выражение, деления на ноль нет
  • Все промежуточные результаты лежат в диапазоне [-2³¹, 2³¹ - 1]
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиКалькулятор со скобками: плюс и минус СложнаяУпрощение многочлена с буквами СложнаяСумма прописью по-английски СложнаяКалькулятор со скобками и переменными СложнаяВложенная логическая формула Сложная
загружаем Python…
Вход
expr="3*(7-2)/4"
Ожидается
3

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 171 тест на сервере, включая скрытые.