Lance wrote:ETA: I vaguely remember running into PN or RPN ages ago. I think I remember it as being bizarre and confusing, but only due to lack of actually using it for any length of time.
RPN == Reverse Polish Notation
Essentially, each time you put in a number, throw it onto the stack. Each time you put in a binary operation, apply it to the two numbers on the top of the stack, and replace them with the result of the operation.
So if you want to do 7+(19*3), it is like this:
1) Input "7" - stack = {7}
2) Input "19" - stack = {7 19}
3) Input "3" - stack = {7 19 3}
4) Input "*" - stack = {7 57}
5) Input "+" - stack = 64
If what you mean instead was (7+19)*3, then:
1) Input "7" - stack = {7}
2) Input "19" - stack = {7 19}
3) Input "+" - stack = {26}
4) Input "3" - stack = {26 3}
5) Input "*" - stack = {78}
Both achieved without parentheses brackets.
Polish Notation means the operations go first, rather than last. So the first one would be
+ 7 * 19 3
and the second would be
* + 7 19 3
I think if you are not used to it, it is probably very difficult.