合24解答
程式由網友3173137提供,程式會嘗試合24其中的1536種可能性,形式為 ( (AXB) Y C ) Z D ,其中A, B, C, D為數值,X, Y, Z為運算符號(+, - , ×, ÷ 分別以1, 2, 3, 4表示)。
網友編寫程式日期: 2009年5月16日
程式需要在 SD 模式下執行,因此在選擇新程式位置後,按 4 選用SD模式。
注意: 藍色的英文字為統計模式中的變數( n 按 Shift 1 3 Σx 按 Shift 1 2 ),E 是按 EXP。
第一個程式 (360 bytes,數值可以是1-9)
Lbl 0: Norm 1: E6A + E5X + E4B + E3Y + E2C + E1Ans + D→M:
?→M: Fix 0: Rnd( E-3M - .5→A: M - E3A→M: Rnd( E-2M - . 5 →D:
M - E2D→M: Rnd( .1M - . 5→C: M-10C→B: FreqOn: ; 0 DT:
Lbl 1: If Σx - 2Rnd( Σx÷2: Then C→M: D→C: M→D: Goto 3: IfEnd:
B→M :D→B: M→D: Lbl 3: 1→X: 1→Y: Lbl 7: A + B→M:
X=2 => A-B→M: X=3 => AB→M: X=4 => A÷B→M:
Y=1 => M+C→M: Y=2 => M-C→M: Y=3 => MC→M:
Y=4 => M÷C→M: M+D=24 => Goto 0: M-D=24 => 2 => Goto 0:
MD=24 => 3 => Goto 0: M=24D => 4 => Goto 0: X=4 => Y+1→Y:
Ans => 0→X: X+1→X: Y-5 => Goto 7: A→M: B→A: C→B: D→C:
M→D: 4-1 DT: Σx=6=>ln( 137 )÷n→D: Ans => e^( nD◢
Σx=Rnd( Σx => Goto 1: Goto 3
第二個程式(359 bytes,數值可以是1-13或1-99)
E6A+ E4B +E2C +D→M: ?→M: Fix 0: Rnd( E-6M - . 5→A:
M - E6A→M: Rnd( E- 4M - . 5→D: M - E4D→M:
Rnd( E-2M - . 5→C: M - E2C→B: FreqOn: ; 0 DT: Lbl 0:
If Σx - 2Rnd( Σx÷2: Then C→M: D→C: M→D: Goto 1:IfEnd:
B→M: D→B: M→D: Lbl 1: 1→X: 1→Y: Lbl 3: A+B→M: X=2 => A-B→M:
X=3 => AB→M: X=4 => A÷B→M: Y=1 => M+C→M: Y=2 => M-C→M:
Y=3 => MC→M: Y=4=> M÷C→M: M+D=24 => Goto 7:
M-D = 24 => 2 => Goto 7: MD=24 => 3 => Goto 7: M=24D => 4 => Goto 7:
X=4 => Y+1→Y: Ans => 0→X: X+1→X: Y - 5 => Goto 3: A→M: B→A:
C→B: D→C: M→D: 4-1 DT: Σx=6 => ln( 137 )÷n→D: Ans => e^( nD◢
Σx=Rnd( Σx => Goto 0: Goto 1: Lbl 7: Norm 1: E2X + E1Y + Ans
註1: 注意+, - , ×, ÷ 程式分別以1, 2, 3, 4形式表示。
註2: 程式會不斷嘗試不同的可能性(最多1536種可能),所以計算時間可能會較長,另外若程式找不出解答, 最後會顯示137。
註3: 程式找不出解答,依然有可能有解答存在。
例題: 若四個數值分別為6, 1, 3, 7,求這四個數值合24的解答。
第一個程式操作方法
按 Prog 1 再按 6137 EXE (顯示1372336,代表 ((1×7)-3) × 6是解答)
第二個程式操作方法
按 Prog 1 再按
06010307 EXE (以兩個位代表一個數值輸入,顯示323,代表運算符號順序多為 ×, -, ×)
EXE (顯示1070306(即01070306),代表答數值的順序為1, 7, 3, 6)
所以最後答案為 ((1×7)-3) × 6 。
註4: 有關合24遊戲的解答,可以參考以下網址:
http://www.semple.edu.hk/mpn185/misc/math24/worksheet/main/worksheet.pdf