C/C++ 使用递归算法实现汉诺塔
发布时间:2020-12-16 07:47:30 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #include iostream using namespace std; int hannuota(int n,string a,string b,string c) { if(n==1) { //只有一个盘子的情况下直接将第一个塔上的
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 #include <iostream> using namespace std; int hannuota(int n,string a,string b,string c) { if(n==1) { //只有一个盘子的情况下直接将第一个塔上的盘子移动到第三个塔 printf("塔%s------>塔%sn",a.c_str(),c.c_str()); } else{ //1.先将第一个塔的n-1个盘子全部通过第三个塔移动到第二个塔上 hannuota(n-1,a,c,b); //2.再将剩下的一个盘子移动到第三个塔上 printf("塔%s------>塔%sn",c.c_str()); //3.最后将第二个塔上的盘子通过第一个塔移动到第三个塔上 hannuota(n-1,b,c); } return 1; } int main(int argc,const char * argv[]) { printf("请输入盘子的数量:n"); int n; scanf("%d",&n); printf("盘子移动如下:n"); hannuota(n,"A","B","C"); return 0; } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |