Anda harus mengevaluasi string yang ditulis dalam notasi Reverse Polish dan menghasilkan hasilnya.
Program harus menerima input dan mengembalikan output. Untuk bahasa pemrograman yang tidak memiliki fungsi untuk menerima input / output, Anda dapat mengasumsikan fungsi seperti readLine / print.
Anda tidak diizinkan menggunakan "eval" dalam program apa pun.
Angka dan operator dipisahkan oleh satu ruang atau lebih .
Anda harus mendukung setidaknya +, -, * dan / operator.
Anda perlu menambahkan dukungan ke angka negatif (misalnya, -4
tidak sama dengan 0 4 -
) dan angka floating point.
Anda dapat menganggap input tersebut valid dan mengikuti aturan di atas
Uji Kasus
Memasukkan:
-4 5 +
Keluaran:
1
Memasukkan:
5 2 /
Keluaran:
2.5
Memasukkan:
5 2.5 /
Keluaran:
2
Memasukkan:
5 1 2 + 4 * 3 - +
Keluaran:
14
Memasukkan:
4 2 5 * + 1 3 2 * + /
Keluaran:
2
eval
nomor parse? Kedengarannya sangat rusak. (GolfScript adalah salah satu bahasa seperti itu, sejauh yang saya tahu. Saya pikir itu rusak juga.)
eval(s)
lebih baik daripadafloat(s)
~
. :-P