Evaluar una expresión omnifix dada.
Omnifix es como la notación infija de las matemáticas normales, pero con copias adicionales de cada símbolo que rodea los argumentos. Los símbolos externos toman el lugar de paréntesis y, por lo tanto, no hay necesidad de paréntesis adicionales.
Debe admitir sumas, restas, multiplicaciones, divisiones y números reales positivos (se pueden escribir los negativos -0-n-
) dentro de un rango razonable para su idioma.
Más y menos deben ser +
y -
, pero puede usar *
o ×
por tiempos y / /
o ÷
dividir. Otros símbolos razonables serán permitidos a pedido.
Brownie señala la explicación y características adicionales (como operaciones adicionales, números negativos, cadenas, etc.) Incluso si su respuesta no tiene estas características, no dude en mostrar cómo podría.
Proporcione un enlace para probar su solución si es posible.
Ejemplos
Para mayor claridad, las explicaciones a continuación usan un alto menos ( ¯
) para indicar números negativos. Puede devolver números negativos utilizando cualquier formato razonable.
-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 puede confundirse con -
s, mientras que ¯
s no puede confundirse con -
s.
The explanations below use high minus (`¯`) to indicate negative numbers.
Definitivamente te encanta APL.