汉诺塔PASCAL源程序有个问题
发布网友
发布时间:2022-07-21 10:38
我来回答
共3个回答
热心网友
时间:2023-10-28 22:41
这是递归调用。
看“procere hanoi(n:integer;a,b,c:char);”,和
“hanoi(n,'A','B','C'); ”,
第二句的N传送到Procere中的N,表示塔的柱数;
'a'传送到Procere的a,表示第一个柱上所存的盘子;
‘b'传送到Procere中的b,表示第二个柱上所存的盘子;
'c'传送到Procere中的c,表示第三个柱上所存的盘子;
Procere内,既然你已动了,N自然都要减一了!调用
“hanoi(n-1,a,c,b); ”体现了A、C的交换。
热心网友
时间:2023-10-28 22:42
这是一个递归调用的例子,下面的网页有此问题的较详细资料,包括源程序、递归调用分析等。
http://bbs.cnpascal.cn/thread-35-1-7.html
热心网友
时间:2023-10-28 22:42
递归调用。我以前给一位老兄讲过C语言版本的。