I bought myself an HP35s recently and as an excersize I programmed this game for it. Not that it can compete with this game, but still.
The goal is to arrange digits 12345678 in order.
The "move" takes a block of 4 digits located somewhere within the sequence and reverses them.
Start with XEQ X. This will produce some permutation of digits 1..8. Top row shows number 12345 -- these are 5 possible moves. "1" will reverse first 4 digits, 2 will reverse 4 digits starting with the second, and so on.
Type n R/S to perform move number n.
Repeat until digits are in order.
X001 LBL X
X002 ALL
X003 12345678
X004 STO X
X005 9
X006 STO J
X007 RANDOM
X008 5
X009 ×
X010 IP
X011 XEQ X028
X012 DSE J
X013 GTO X007
X014 12345
X015 RCL X
X016 STOP
X017 IP
X018 x<=0?
X019 GTO X014
X020 5
X021 x<>y
X022 x<=y?
X023 XEQ X025
X024 GTO X014
X025 +/-
X026 5
X027 +
X028 10^x
X029 STO K
X030 RCL X
X031 x<>y
X032 INT÷
X033 x<> K
X034 4
X035 STO I
X036 RCL- I
X037 10
X038 ×
X039 RCL K
X040 LASTx
X041 STO÷ K
X042 RMDR
X043 IP
X044 +
X045 DSE I
X046 GTO X037
X047 RCL K
X048 FP
X049 10000
X050 ×
X051 -
X052 ×
X053 STO+ X
X054 RTN
Uses registers X, K, I, J
Edited: 28 Sept 2008, 5:02 p.m. after one or more responses were posted