汉诺塔(3个圆盘)

直接上代码吧

 1 #include <fstream>

 2 #include <iostream>

 3 

 4 using namespace std;

 5 

 6 int step=0;

 7 

 8 void move(char x,char y);

 9 void hannoi(int n,char a,char b,char c);

10 

11 int main(){

12     int n;

13     scanf("%d",&n);

14     hannoi(n,'a','b','c');

15     return 0;

16 }

17 void move(char x,char y){

18     cout<<"move "<<++step<<" from "<<x<<" to "<<y<<endl;

19 }

20 void hannoi(int n,char a,char b,char c){

21     if(n){

22         hannoi(n-1,a,c,b);

23         move(a,b);

24         hannoi(n-1,c,b,a);

25     }

26 }
View Code

 

你可能感兴趣的:(汉诺塔(3个圆盘))