递归法实现汉诺塔

来源:互联网 发布:数据分析合同 编辑:程序博客网 时间:2024/06/07 09:04

递归是一个抽象的过程,不关注具体的过程!!!

递归实现汉诺塔问题;

#include<stdio.h>int count = 0;void Move(int n,char a,char b);void Hanoi(int n,char a,char b,char c);int main(){int n = 0;printf("请输入汉诺塔层数:");scanf("%d",&n);printf("\n");Hanoi(n,'A','B','C');return 0;}void Hanoi(int n,char a,char b,char c){if(n == 1){Move(n,a,c);}else{Hanoi(n - 1,a,c,b);Move(n,a,c);Hanoi(n - 1,b,a,c);}}void Move(int n,char a,char b){count++;printf("第 %d 次移动 %d 层 %c 到 %c\n",count,n,a,b);}


原创粉丝点击