逆ポーランド記法で書かれた文字列を評価し、結果を出力する必要があります。
プログラムは入力を受け入れ、出力を返す必要があります。入出力を受け取る関数を持たないプログラミング言語の場合、readLine / printなどの関数を想定できます。
プログラムで「評価」を使用することはできません。
数字と演算子は、1 つ以上のスペースで区切られます。
少なくとも+、-、*、および/演算子をサポートする必要があります。
負の数(たとえば、-4
とは異なります0 4 -
)および浮動小数点数のサポートを追加する必要があります。
入力が有効であり、上記の規則に従っていると想定できます。
テストケース
入力:
-4 5 +
出力:
1
入力:
5 2 /
出力:
2.5
入力:
5 2.5 /
出力:
2
入力:
5 1 2 + 4 * 3 - +
出力:
14
入力:
4 2 5 * + 1 3 2 * + /
出力:
2
eval
数字の解析にどの言語を使用する必要がありますか?かなり壊れているように聞こえます。(私が知っている限り、GolfScriptはそのような言語の1つです。私もそれが壊れていると思います。)
eval(s)
よりも良いfloat(s)
~
。それ以外の場合、GolfScriptソリューションは1文字です。:-P