RPN calculator · מחשבון RPN
RPN calculator
In Reverse Polish Notation the operator comes after its two numbers: 2 3 + means 2 + 3, and 2 3 4 * + means 2 + (3 * 4) = 14. No brackets needed.
Use a stack (a list). Read tokens left to right: push numbers; when you hit an operator, pop the top two, combine them (mind the order — the first value popped is the right-hand side), and push the result. The answer is what's left on top.
מחשבון RPN
ב-ניקוד פוליש הפוך האופרציה באה אחרי שני המספרים שלה: 2 3 + פירושו 2 + 3, ו2 3 4 * + פירושו 2 + (3 * 4) = 14. אין צורך בסוגריים.
השתמשו בסטק (רשימה). קראו טוקנים משמאל לימין: דחפו מספרים; כאשר מגיעים לאופרציה, חלקו את שני הערכים העליונים, איחדו אותם (שמו לב לסדר — הערך הראשון שנפסק הוא הצד הימני), והעלו את התוצאה. התשובה היא מה שנותר בעליון.
Write rpn_eval(tokens) that evaluates a list of Reverse Polish Notation tokens — integers written as strings and the operators +, -, *, /. Use a stack; / should truncate toward zero. Return the final integer. · כתוב פונקציה rpn_eval(tokens) שמבצעת הערכה של טוקנים במספרי פולין הפוכים — מספרים שלמים כתובים כמחרוזות והפעולות +, -, *, /. השתמש בערימה; / צריכה לחתוך לעבר אפס. החזר את המספר השלם הסופי.
Click Run to see the output here. · לחץ על הרץ כדי לראות את התוצא כאן.