汉诺塔问题
汉诺塔是一个源于印度古老传说的益智玩具。据说大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘,大梵天命令僧侣把圆盘移到另一根柱子上,并且规定:在小圆盘上不能放大圆盘,每次只能移动一个圆盘。当所有圆盘都移到另一根柱子上时,世界就会毁灭。
递归函数如下:
#include<iostream>
#include<string>
using namespace std;
void hanoi(int n,string from,string a,string to){
if(n==1){
cout<<from<<"->"<<to<<endl;
return;
}
hanoi(n-1,from,to,a);
cout<<from<<"->"<<to<<endl;
hanoi(n-1,a,from,to);
}
int main(){
int n;
string a,b,c;
cin>>n>>a>>b>>c;
hanoi(n,a,b,c);
return 0;
}
递归函数如下:
#include<iostream>
#include<string>
using namespace std;
void hanoi(int n,string from,string a,string to){
if(n==1){
cout<<from<<"->"<<to<<endl;
return;
}
hanoi(n-1,from,to,a);
cout<<from<<"->"<<to<<endl;
hanoi(n-1,a,from,to);
}
int main(){
int n;
string a,b,c;
cin>>n>>a>>b>>c;
hanoi(n,a,b,c);
return 0;
}
全部评论
相关推荐
02-24 19:45
西南大学 后端工程师
程序员小白条:简历写的有点太多了,一般两页是实习经历比较多的情况下,要么自己有一些有影响力的开源项目,如果你走软件,硬件没必要实习,学校安排总是没区分度的,央国企最好有中大厂实习,另外学历比较重要,不是都要求硕士的,技术会比互联网要求低一些 点赞 评论 收藏
分享
今天 11:56
广西艺术学院 项目助理 点赞 评论 收藏
分享
