Ters Lehçe yazımında yazılmış bir dize değerlendirmeli ve sonuç çıktısı almalısınız .
Program bir girişi kabul etmeli ve çıkışı iade etmelidir. Giriş / çıkış alacak fonksiyonları olmayan programlama dilleri için readLine / print gibi fonksiyonlar üstlenebilir.
Programda herhangi bir "eval" kullanmanıza izin verilmez.
Sayılar ve operatörler bir veya daha fazla boşlukla ayrılır .
En azından +, -, * ve / operatörleri desteklemelisiniz.
Negatif sayılara (örneğin, -4
aynı şey değil 0 4 -
) ve kayan nokta sayılarına destek eklemeniz gerekir .
Girişin geçerli olduğunu ve yukarıdaki kuralları takip ettiğini varsayabilirsiniz.
Test Kılıfları
Giriş:
-4 5 +
Çıktı:
1
Giriş:
5 2 /
Çıktı:
2.5
Giriş:
5 2.5 /
Çıktı:
2
Giriş:
5 1 2 + 4 * 3 - +
Çıktı:
14
Giriş:
4 2 5 * + 1 3 2 * + /
Çıktı:
2
eval
Numaraları ayrıştırmak için hangi dili kullanmanızı gerektirir ? Kulağa çok bozuk geliyor. (GolfScript, bildiğim kadarıyla böyle bir dil. Sanırım onun da kırık olduğunu düşünüyorum.)
eval(s)
içinde daha iyidirfloat(s)
~
. :-P