汉诺塔问题

汉诺塔问题运用函数的递归,递归就像循环

先把第一次移动定义好,第一次可以直接从起始移到目标,接下来的n-1个都要先从起始移到目标再回到借力柱,最后在函数末尾写上递归的代码。

完整代码:

#include<iostream>

using namespace std;

void hanoi(int n,char from,char aux,char to)

{

if(n==1)

{

cout<<1<<": "<<from<<" -> "<<to<<endl;

return ;

}

hanoi(n-1,from,to,aux);

cout<<n<<": "<<from<<" -> "<<to<<endl;

hanoi(n-1,aux,from,to);

}

int main()

{

int n;

char from,aux,to;

cin>>n>>from>>aux>>to;

hanoi(n,from,aux,to);

return 0;

}

全部评论

相关推荐

宇算唯航:目测实缴资本不超100W的小公司
点赞 评论 收藏
分享
程序员小白条:你是沟通了900个,不是投了900份简历,你能投900份,意味着对面都要回复你900次,你早就找到实习了,没亮点就是这样的,别局限地区,时间投的也要早,现在都要7月了
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务