Hanoi塔问题(递归)
Posted 文流
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hanoi塔问题(递归)相关的知识,希望对你有一定的参考价值。
#include<iostream> #include<cstdio> using namespace std; int sum; int f(int n,char a,char b,char c){ if(n == 1){printf("1 from a to b\n");sum++;return sum;} else { f(n-1,a,c,b); printf("%d from %c to %c\n",n,a,c);sum++; f(n-1,b,a,c); } } int main(){ int cases, n; cin>>cases; while(cases--){ cin>>n; sum = 0; f(n,‘a‘,‘b‘,‘c‘); printf("sum = %d\n",sum); } return 0; }
以上是关于Hanoi塔问题(递归)的主要内容,如果未能解决你的问题,请参考以下文章
汉诺塔(Tower of Hanoi) 递归代码实现 c语言(顺序栈实现)