こんなの見つけました「ハノイの塔解法プログラム」

ハード・ディスクから、こんなのを見つけました。 有名パズル「ハノイの塔」を、うさんくさいアルゴリズムで解くプログラムです。
作成はMZ-700(HuBASIC)で、X1turboZでも動作を確認しました。

      
100 FOR I=0 TO 5:READ S$(I\2,I MOD2)
110 NEXT:CLS:DATA C to B,B to C,B to A,A to B,A to C,C to A
120 PRINT"The tower of Hanoi (A to C)"
130 REPEAT:INPUT"How many discs";S:S=INT(S):UNTIL S>1
140 IF S MOD 2=1 SWAP S$(0,0),S$(0,1):SWAP S$(1,0),S$(2,1):SWAP S$(1,1),S$(2,0)
150 FOR N=1 TO 2^S-1
160 B$=BIN$(N):R$="":L=LEN(B$)
170 FOR J=0 TO L-1:R$=R$+MID$(B$,L-J,1)
180 NEXT:M=INSTR(R$,"1"):PRINT N,"Move disc";M;" from ";S$(N MOD 3,M MOD 2);","
190 NEXT:PRINT"END, STEPS";N-1:END
200 ' The tower of Hanoi for HuBASIC(MZ/CZ)
210 ' 1985.12. 8 / 1986.11.28 (for MZ)
220 ' 1994. 2.19 (Version 1.1B)
      
    

 ……いやはや。 「解く」と言うよりは、結論から強引に規則性を求めて、それに合うプログラムを書いたって感じで(実際その通りだけれど)、ある意味笑えますね。


Percom houseへ戻る
サイト・トップ

e-mail address : listrun@z80.club.ne.jp