Bewerten Sie einen bestimmten Omnifix-Ausdruck.
Omnifix ist wie die Infixnotation der normalen Mathematik, jedoch mit zusätzlichen Kopien jedes Symbols, das die Argumente umgibt. Die äußeren Symbole ersetzen Klammern, sodass keine zusätzlichen Klammern erforderlich sind.
Sie müssen Addition, Subtraktion, Multiplikation, Division und positive reelle Zahlen (negative können geschrieben werden -0-n-
) in einem für Ihre Sprache angemessenen Bereich unterstützen.
Plus und Minus müssen +
und sein -
, aber Sie können *
oder ×
für Zeiten und /
oder ÷
zum Teilen verwenden. Andere sinnvolle Symbole sind auf Anfrage zulässig.
Brownie-Punkte für Erklärungen und zusätzliche Funktionen (wie zusätzliche Operationen, negative Zahlen, Zeichenfolgen usw.) Auch wenn Ihre Antwort diese Funktionen nicht enthält, können Sie zeigen, wie dies möglich ist.
Bitte geben Sie einen Link an, um Ihre Lösung zu testen, sofern dies möglich ist.
Beispiele
In den folgenden Erläuterungen werden zur Verdeutlichung ¯
negative Zahlen mit einem hohen Minuszeichen ( ) angegeben. Sie können negative Zahlen in jedem vernünftigen Format zurückgeben.
-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 mit -
s verwechselt werden kann, während ¯
s nicht mit -
s verwechselt werden kann .
The explanations below use high minus (`¯`) to indicate negative numbers.
Sie lieben definitiv APL.