汉诺塔问题的ppt详解_第1页
汉诺塔问题的ppt详解_第2页
汉诺塔问题的ppt详解_第3页
汉诺塔问题的ppt详解_第4页
汉诺塔问题的ppt详解_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、/ 汉诺塔,/ 汉诺塔,/ 汉诺塔,/ 汉诺塔,/ 汉诺塔,/ 汉诺塔,/ 汉诺塔,/ 汉诺塔,/ 汉诺塔,/ 汉诺塔,/ 汉诺塔,/ 汉诺塔,/ 汉诺塔 # include void hanoi ( int n, char a, char b, char c ) if ( n = 1 ) hanoi ( n-1, a, c, b ) ; printf(“%c - %cn”, a , c) ; hanoi ( n-1, b, a, c ) ; void main () int n ; printf( Input the number of diskes:n “) ; scanf(“%d”, ,

2、/ 汉诺塔 void main () int n ; printf( Input the number of diskes:n “) ; scanf(“%d”, ,H ( 3, A, B, C ),3 A B C,H(n,A,B,C),/ 汉诺塔 void main () int n ; printf( Input the number of diskes:n “) ; scanf(“%d”, ,H ( 3, A, B, C ),3 A B C,H(n,A,B,C),void hanoi ( int n, char a, char b, char c ) if ( n = 1 ) hanoi

3、( n-1, a, c, b) ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,/ 汉诺塔,H ( 3, A, B, C ),3 A B C,2 A C B,1 A B C,H(n,A,B,C),H(n-1,a,c,b),H(n-1,a,c,b),H ( 0, A, C, B ),H(n-1,a,c,b),0 A C B,H ( 2, A, C, B ),H ( 1, A, B, C ),void hanoi ( int n, char a, char b, char c ) if ( n = 1 ) hanoi ( n-1, a, c, b)

4、 ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B C,H ( 2, A, C, B ),2 A C B,H ( 1, A, B, C ),1 A B C,H(n,A,B,C),H(n-1,a,c,b),H(n-1,a,c,b),H ( 0, A, C, B ),H(n-1,a,c,b),0 A C B,void hanoi ( int n, char a, char b, char c ) if ( n = 1 ) hanoi ( n-1, a, c, b) ; printf(“%c -%cn“,a

5、,c); hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B C,H ( 2, A, C, B ),2 A C B,H ( 1, A, B, C ),1 A B C,Output,A C,H(n,A,B,C),H(n-1,a,c,b),H(n-1,a,c,b),cout,void hanoi ( int n, char a, char b, char c ) if ( n = 1 ) hanoi ( n-1, a, c, b) ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C

6、 ),3 A B C,H ( 2, A, C, B ),2 A C B,H ( 1, A, B, C ),1 A B C,Output,A C,H(n,A,B,C),H(n-1,a,c,b),H(n-1,a,c,b),H ( 0, B , A, C ),H(n-1,b,a,c),0 B A C,void hanoi ( int n, char a, char b, char c ) if ( n = 1 ) hanoi ( n-1, a, c, b) ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B

7、C,H ( 2, A, C, B ),2 A C B,H ( 1, A, B, C ),1 A B C,Output,A C,H(n,A,B,C),H(n-1,a,c,b),H(n-1,a,c,b),H ( 0, B , A, C ),H(n-1,b,a,c),0 B A C,void hanoi ( int n, char a, char b, char c ) if ( n = 1 ) hanoi ( n-1, a, c, b) ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B C,H ( 2,

8、A, C, B ),2 A C B,H ( 1, A, B, C ),1 A B C,Output,A C,H(n,A,B,C),H(n-1,a,c,b),H(n-1,a,c,b),void hanoi ( int n, char a, char b, char c ) if ( n = 1 ) hanoi ( n-1, a, c, b) ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B C,H ( 2, A, C, B ),2 A C B,Output,A C,A B,H(n,A,B,C),H(n-

9、1,a,c,b),cout,void hanoi ( int n, char a, char b, char c ) if ( n = 1 ) hanoi ( n-1, a, c, b) ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B C,H ( 2, A, C, B ),2 A C B,Output,A C,A B,H(n,A,B,C),H(n-1,a,c,b),1 C A B,H(n-1,b,a,c),H ( 1, C, A, B ),void hanoi ( int n, char a, ch

10、ar b, char c ) if ( n = 1 ) hanoi ( n-1, a, c, b) ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B C,H ( 2, A, C, B ),2 A C B,Output,A C,A B,H(n,A,B,C),H(n-1,a,c,b),H ( 1, C, A, B ),1 C A B,H(n-1,b,a,c),H ( 0, C, B , A),H(n-1,a,c,b),0 C B A,void hanoi ( int n, char a, char b,

11、char c ) if ( n = 1 ) hanoi ( n-1, a, c, b) ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B C,H ( 2, A, C, B ),2 A C B,Output,A C,A B,H(n,A,B,C),H(n-1,a,c,b),H ( 1, C, A, B ),1 C A B,H(n-1,b,a,c),H ( 0, C, B , A),H(n-1,a,c,b),0 C B A,void hanoi ( int n, char a, char b, char c

12、 ) if ( n = 1 ) hanoi ( n-1, a, c, b) ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B C,H ( 2, A, C, B ),2 A C B,Output,A C,A B,H(n,A,B,C),H(n-1,a,c,b),H ( 1, C, A, B ),1 C A B,H(n-1,b,a,c),C B,cout,void hanoi ( int n, char a, char b, char c ) if ( n = 1 ) hanoi ( n-1, a, c,

13、b) ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B C,H ( 2, A, C, B ),2 A C B,Output,A C,A B,H(n,A,B,C),H(n-1,a,c,b),H ( 1, C, A, B ),1 C A B,H(n-1,b,a,c),C B,H ( 0, A, C , B ),H(n-1,b,a,c),0 A C B,void hanoi ( int n, char a, char b, char c ) if ( n = 1 ) hanoi ( n-1, a, c, b

14、) ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B C,H ( 2, A, C, B ),2 A C B,Output,A C,A B,H(n,A,B,C),H(n-1,a,c,b),H ( 1, C, A, B ),1 C A B,H(n-1,b,a,c),C B,H ( 0, A, C , B ),H(n-1,b,a,c),0 A C B,void hanoi ( int n, char a, char b, char c ) if ( n = 1 ) hanoi ( n-1, a, c, b)

15、 ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B C,H ( 2, A, C, B ),2 A C B,Output,A C,A B,H(n,A,B,C),H(n-1,a,c,b),H ( 1, C, A, B ),1 C A B,H(n-1,b,a,c),C B,void hanoi ( int n, char a, char b, char c ) if ( n = 1 ) hanoi ( n-1, a, c, b) ; printf(“%c -%cn“,a,c); hanoi (n-1, b,

16、 a, c) ; ,H ( 3, A, B, C ),3 A B C,H ( 2, A, C, B ),2 A C B,Output,A C,A B,H(n,A,B,C),H(n-1,a,c,b),C B,void hanoi ( int n, char a, char b, char c ) if ( n = 1 ) hanoi ( n-1, a, c, b) ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B C,H ( 2, A, C, B ),2 A C B,Output,A C,A B,H(n

17、,A,B,C),H(n-1,a,c,b),C B,A C,cout,void hanoi ( int n, char a, char b, char c ) if ( n = 1 ) hanoi ( n-1, a, c, b) ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B C,Output,A C,A B,H(n,A,B,C),C B,H ( 2, B, A, C ),2 B A C,H(n-1,b,a,c),A C,void hanoi ( int n, char a, char b, char

18、 c ) if ( n = 1 ) hanoi ( n-1, a, c, b) ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B C,Output,A C,A B,H(n,A,B,C),C B,H ( 2, B, A, C ),2 B A C,1 B C A,H(n-1,b,a,c),H(n-1,a,c,b),A C,H ( 0, B, A, C ),H(n-1,a,c,b),0 B A C,H ( 1, B, C, A ),void hanoi ( int n, char a, char b, ch

19、ar c ) if ( n = 1 ) hanoi ( n-1, a, c, b) ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B C,Output,A C,A B,H(n,A,B,C),C B,H ( 2, B, A, C ),2 B A C,H ( 1, B, C, A ),1 B C A,H(n-1,b,a,c),H(n-1,a,c,b),A C,H ( 0, B, A, C ),H(n-1,a,c,b),0 B A C,void hanoi ( int n, char a, char b,

20、char c ) if ( n = 1 ) hanoi ( n-1, a, c, b) ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B C,Output,A C,A B,H(n,A,B,C),C B,H ( 2, B, A, C ),2 B A C,H ( 1, B, C, A ),1 B C A,H(n-1,b,a,c),H(n-1,a,c,b),A C,B A,cout,void hanoi ( int n, char a, char b, char c ) if ( n = 1 ) hanoi

21、 ( n-1, a, c, b) ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B C,Output,A C,A B,H(n,A,B,C),C B,H ( 2, B, A, C ),2 B A C,H ( 1, B, C, A ),1 B C A,H(n-1,b,a,c),H(n-1,a,c,b),A C,B A,H ( 0, C , B , A),H(n-1,b,a,c),0 C B A,void hanoi ( int n, char a, char b, char c ) if ( n = 1

22、) hanoi ( n-1, a, c, b) ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B C,Output,A C,A B,H(n,A,B,C),C B,H ( 2, B, A, C ),2 B A C,H ( 1, B, C, A ),1 B C A,H(n-1,b,a,c),H(n-1,a,c,b),A C,B A,H ( 0, C , B , A),H(n-1,b,a,c),0 C B A,void hanoi ( int n, char a, char b, char c ) if (

23、 n = 1 ) hanoi ( n-1, a, c, b) ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B C,Output,A C,A B,H(n,A,B,C),C B,H ( 2, B, A, C ),2 B A C,H ( 1, B, C, A ),1 B C A,H(n-1,b,a,c),H(n-1,a,c,b),A C,B A,void hanoi ( int n, char a, char b, char c ) if ( n = 1 ) hanoi ( n-1, a, c, b) ;

24、 printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B C,Output,A C,A B,H(n,A,B,C),C B,H ( 2, B, A, C ),2 B A C,H ( 1, B, C, A ),1 B C A,H(n-1,b,a,c),H(n-1,a,c,b),A C,B A,B C,cout,void hanoi ( int n, char a, char b, char c ) if ( n = 1 ) hanoi ( n-1, a, c, b) ; printf(“%c -%cn“,a,c);

25、 hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B C,Output,A C,A B,H(n,A,B,C),C B,H ( 2, B, A, C ),2 B A C,H(n-1,b,a,c),A C,B A,1 A B C,H(n-1,b,a,c),B C,H ( 1, A, B, C ),void hanoi ( int n, char a, char b, char c ) if ( n = 1 ) hanoi ( n-1, a, c, b) ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,H (

26、 3, A, B, C ),3 A B C,Output,A C,A B,H(n,A,B,C),C B,H ( 2, B, A, C ),2 B A C,H(n-1,b,a,c),A C,B A,H ( 1, A, B, C ),1 A B C,H(n-1,b,a,c),B C,H ( 0, A, C , B),H(n-1,a,c,b),0 A C B,void hanoi ( int n, char a, char b, char c ) if ( n = 1 ) hanoi ( n-1, a, c, b) ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a,

27、 c) ; ,H ( 3, A, B, C ),3 A B C,Output,A C,A B,H(n,A,B,C),C B,H ( 2, B, A, C ),2 B A C,H(n-1,b,a,c),A C,B A,H ( 1, A, B, C ),1 A B C,H(n-1,b,a,c),B C,H ( 0, A, C, B ),H(n-1,a,c,b),0 A C B,void hanoi ( int n, char a, char b, char c ) if ( n = 1 ) hanoi ( n-1, a, c, b) ; printf(“%c -%cn“,a,c); hanoi (

28、n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B C,Output,A C,A B,H(n,A,B,C),C B,H ( 2, B, A, C ),2 B A C,H(n-1,b,a,c),A C,B A,H ( 1, A, B, C ),1 A B C,H(n-1,b,a,c),B C,A C,cout,void hanoi ( int n, char a, char b, char c ) if ( n = 1 ) hanoi ( n-1, a, c, b) ; printf(“%c -%cn“,a,c); hanoi (n-1, b, a, c) ; ,/

29、汉诺塔 void hanoi ( int n, char a, char b, char c ) if ( n = 1 ) hanoi ( n-1, a, c, b) ; cout cendl; hanoi (n-1, b, a, c) ; ,H ( 3, A, B, C ),3 A B C,Output,A C,A B,H(n,A,B,C),C B,H ( 2, B, A, C ),2 B A C,H(n-1,b,a,c),A C,B A,H ( 1, A, B, C ),1 A B C,H(n-1,b,a,c),B C,A C,H ( 0, B , A , C),H(n-1,b,a,c),0 B A C,H ( 3, A, B, C ),3 A B C,Output,A C,A B,H(n,A,B,C),C B,H ( 2, B, A, C ),2 B A C,H(n-1,b,a,c),A C,B A,H ( 1, A, B, C ),1 A B C,H(n-1,b,a,c),B C,A C,H ( 0, B , A , C),H(n-1,b,a,c),0 B A C,void hanoi ( int n, char a, char

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论