Another update from ingydotnet^djgoku

This commit is contained in:
Ingy döt Net 2015-11-18 06:14:39 +00:00
parent 91df62d461
commit 948b86eafa
7604 changed files with 108452 additions and 22726 deletions

View file

@ -0,0 +1,12 @@
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,
StringRiffle[ToString[#, InputForm] & /@ #] & /@ steps}]]];
Print[calc["3 4 2 * 1 5 - 2 3 ^ ^ / +"]];