首页 > 代码库 > 汉诺塔问题
汉诺塔问题
汉诺塔问题是一个纯递归问题,应该是比较简单的
搞定n个盘子时只要搞定n-1个盘子就ok了,
先将n-1个盘子经过左边那个盘子放到中间那个盘子,在把第n个盘子放过去,最后把n-1个盘子放在最左边的那个就ok了。
#include<stdio.h>void move(char A,char C){ printf("%c---%c\n",A,C);}void han(char A,char B,char C,int n){ if(n==1) move(A,C); else { han(A,C,B,n-1); move(A,C); han(B,A,C,n-1); }}int main(){ int n; scanf("%d",&n); han(‘A‘,‘B‘,‘C‘,n); return 0;}
汉诺塔问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。