数学研发论坛

 找回密码
 欢迎注册

tower of hanoi

已有 1088 次阅读2015-11-27 15:12

PROGRAM HANOI_TOWER;
VAR N:INTEGER;VAR C:INTEGER;VAR D:BOOLEAN;
PROCEDURE OUTF(A,B:INTEGER);
BEGIN
 WRITE(A,'-->',B,' ');
END;
PROCEDURE HANOI(K:INTEGER;VAR L:INTEGER;VAR A:BOOLEAN);
VAR M,I,H:INTEGER;VAR J:BOOLEAN;
BEGIN
 IF K=0 THEN EXIT;
 CASE L OF
  1:A:=FALSE;
  3:A:=TRUE;
 END;
 J:=A;H:=L;
 FOR I:=1 TO 2 DO
 BEGIN
  HANOI(K-1,H,J);
  IF A=FALSE THEN M:=L+1 ELSE M:=L-1;
  OUTF(L,M);
  L:=M;
 END;
 HANOI(K-1,H,J);
END;
BEGIN
 READLN(N);
 C:=1;
 HANOI(N,C,D);
 READLN();
END.

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 欢迎注册

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2020-10-26 08:54 , Processed in 0.028627 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

返回顶部