Нещодавно я писав новою мовою , щоб уникнути необхідності обробляти порядок операцій , я просто скористався дужкою кожного виразу належним чином, щоб уникнути цього цілком.
Оскільки в дужках знаходяться char-коди 40-41, ваш код повинен бути якомога коротшим.
Приклади
1+2*3
(1+(2*3))
2*(3+4)
(2*(3+4))
2*3/4+3
(((2*3)/4)+3)
342*32/8
((342*32)/8)
Правила
Єдині операції, з якими вам потрібно буде впоратися, це: *
(множення), /
(ділення), +
(додавання) та -
(віднімання).
- Порядок операцій є:
- Парентез
- Множення, ділення
- Складання, віднімання
- Вам слід віддати перевагу ліворуч праворуч
- Число введення завжди буде додатними цілими числами (див. Бонуси)
Бонуси
-20%, якщо ви обробляєте заперечення:
3+-5
(3+(-5))
-5%, якщо ви можете розмістити пробіли всередині входу:
3 + 4
(3+4)
-10%, якщо ви можете обробляти десяткові знаки на вході:
1+.12
(1+.12)
1+0.21/3
(1+(0.21/3))
500 баунті: якщо вам вдасться написати відповідь у Без назви / Блоки
1+2+3+4
(які певні рішення можуть бути використані в дужках ((1+2)+(3+4))
)