汉诺塔问题(分治递归思想)

汉诺塔的基本思想就是
1.先把上面n-1个通过c转移到b(因为我的c里面要放n,也就是最大的那个)
2.把a中的 n(最大的那个)移动到c
3.再把b中的n-1个通过a移动到c;

整个过程就结束了,然后递归调用这个函数,每一层递归都执行这三个步骤
最后n=1的时候,想象一下,n=1的时候,是不是把c中的1直接移到c中即可,所以这就是终止条件。今天可算是理解了汉诺塔的原理了!!!`

#include
using namespace std;

void movef(int n,char a,char b){
	cout<<"把"<>n;
	haniod(n,'a','b','c');  
}

你可能感兴趣的:(c++)