2016 Update
This commit is contained in:
parent
948b86eafa
commit
dcf5d15da3
7965 changed files with 139854 additions and 31002 deletions
|
|
@ -1,12 +1,9 @@
|
|||
calc[rpn_] :=
|
||||
Module[{tokens = StringSplit[rpn], steps},
|
||||
steps = FoldList[
|
||||
Switch[#2, _?DigitQ, Append[#, FromDigits[#2]], "^",
|
||||
Append[#[[;; -3]], #[[-2]]^#[[-1]]], "*",
|
||||
Append[#[[;; -3]], #[[-2]] #[[-1]]], "/",
|
||||
Append[#[[;; -3]], #[[-2]]/#[[-1]]], "+",
|
||||
Append[#[[;; -3]], #[[-2]] + #[[-1]]], "-",
|
||||
Append[#[[;; -3]], #[[-2]] - #[[-1]]]] &, {}, tokens][[2 ;;]];
|
||||
Grid[Transpose[{# <> ":" & /@ tokens,
|
||||
Module[{tokens = StringSplit[rpn], s = "(" <> ToString@InputForm@# <> ")" &, op, steps},
|
||||
op[o_, x_, y_] := ToExpression[s@x <> o <> s@y];
|
||||
steps = FoldList[Switch[#2, _?DigitQ, Append[#, FromDigits[#2]],
|
||||
_, Append[#[[;; -3]], op[#2, #[[-2]], #[[-1]]]]
|
||||
] &, {}, tokens][[2 ;;]];
|
||||
Grid[Transpose[{# <> ":" & /@ tokens,
|
||||
StringRiffle[ToString[#, InputForm] & /@ #] & /@ steps}]]];
|
||||
Print[calc["3 4 2 * 1 5 - 2 3 ^ ^ / +"]];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue