Оцініть заданий вираз універсального значення.
Omnifix - це як інфіксація звичайних математичних позначень, але з додатковими копіями кожного символу, що оточує аргументи. Зовнішні символи займають місце в дужках, тому немає необхідності в додаткових дужках.
Ви повинні підтримувати додавання, віднімання, множення, ділення та додатні реальні числа (негативні можна записати -0-n-
) у розумному діапазоні для вашої мови.
Плюс і мінус повинні бути +
і -
, але ви можете використовувати *
або ×
для разів, /
або ÷
для розділення. Інші розумні символи будуть дозволені на запит.
Brownie вказує на пояснення та додаткові функції (наприклад, додаткові операції, негативні цифри, рядки тощо). Навіть якщо у вашій відповіді немає цих функцій, сміливо покажіть, як це могло.
Будь ласка, надайте посилання для тестування свого рішення, якщо це можливо.
Приклади
Для наочності в поясненнях нижче використовується високий мінус ( ¯
) для позначення негативних чисел. Ви можете повернути негативні цифри у будь-якому розумному форматі.
-5-2-
→ 3
+2+×3×2×+
→ 8
( +2+×3×2×+
→ +2+6+
→ 8
)
-14--3-1--
→ 12
( -4--3-1--
→ -14-2-
→ 12
)
+2.1+×3.5×2.2×+
→ 9.8
( +2.1+×3.5×2.2×+
→ +2.1+7.7+
→ 9.8
)
×3×÷-0-6-÷2÷×
→ -9
( ×3×÷-0-6-÷2÷×
→ ×3×÷¯6÷2÷×
→ ×3ׯ3×
→ → ¯9
)
÷4÷-3-÷1÷2÷-÷
→ 1.6
( ÷4÷-3-÷1÷2÷-÷
→ ÷4÷-3-0.5-÷
→ ÷4÷2.5÷
→ → 1.6
)
-
s можна плутати з -
s, тоді як ¯
s не можна плутати з -
s.
The explanations below use high minus (`¯`) to indicate negative numbers.
Ви точно любите APL.