Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
|
|
@ -0,0 +1,17 @@
|
|||
procedure evalRPN(string s)
|
||||
sequence stack = {}
|
||||
sequence ops = split(s)
|
||||
for i=1 to length(ops) do
|
||||
string op = ops[i]
|
||||
switch op
|
||||
case "+": stack[-2] = stack[-2]+stack[-1]; stack = stack[1..-2]
|
||||
case "-": stack[-2] = stack[-2]-stack[-1]; stack = stack[1..-2]
|
||||
case "*": stack[-2] = stack[-2]*stack[-1]; stack = stack[1..-2]
|
||||
case "/": stack[-2] = stack[-2]/stack[-1]; stack = stack[1..-2]
|
||||
case "^": stack[-2] = power(stack[-2],stack[-1]); stack = stack[1..-2]
|
||||
default : stack = append(stack,scanf(op,"%d")[1][1])
|
||||
end switch
|
||||
?{op,stack}
|
||||
end for
|
||||
end procedure
|
||||
evalRPN("3 4 2 * 1 5 - 2 3 ^ ^ / +")
|
||||
Loading…
Add table
Add a link
Reference in a new issue