2017-12-06

#include<stdio.h>

long i=0;

void move(char a,char b)

{

printf("%c->%c\n",a,b);

}

void hanno(char x,char y,char z,int num)

{

if(num==1)

{

move(x,z);

i++;

}

else

{

hanno(x,z,y,num-1);

move(x,z);

i++;

hanno(y,x,z,num-1);

}

}

void main()

{

char x,y,z;

int num;

x='x';

y='y';

z='z';

printf("请输入汉诺塔的高度: ");

scanf("%d",&num);

hanno(x,y,z,num);

printf("汉诺塔搬移执行了%d次!\n",i);

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容