经典汉罗塔问题解决方案[通俗易懂]

经典汉罗塔问题解决方案[通俗易懂]汉罗塔问题将a的盘子移动到c针且一次只能移动一个盘,在移动过程中必须保持大盘在下,小盘在上。1、将n-1个盘子从a移动到b盘2、将a剩下的一个盘子移动到c盘3、将b的n-1个盘子移动到c盘#include<iostream>usingnamespacestd;voidmove1(chara,charc){ cout<<a<<“–>”<<c<<endl;}voidhanoi(intn,

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

b为空针在移动过程中可以使用

将a的塔移动到c针且一次只能移动一个盘,在移动过程中必须保持大盘在下,小盘在上

使用递归来解题:

1、将n-1个盘子从a移动到b盘

2、将a剩下的一个盘子移动到c盘

3、将b的n-1个盘子移动到c盘 又回到了刚开始

#include<iostream>
using namespace std;
//将最后一个塔进行移动
void move1(char a,char c)
{
 	cout<<a<<"-->"<<c<<endl;
} 

//递归公式
void hanoi(int n,char a,char b,char c)//目的将n个盘子从a移动到c
{
	if(n==1)//当a只有一个盘子的情况
	move1(a,c);
	else
	{
		hanoi(n-1,a,c,b);//首先将n-1个移动到b盘上
		move1(a,c);//将最大的盘子放在c盘
		hanoi(n-1,b,a,c);//借助a盘将b盘上n-1个塔移动到c盘,又回到了开始
	}
	
 } 
 int main()
{
	cout<<"请输入a上有多少个汉罗塔:";
	int n;
	cin>>n;
	hanoi(n,'a','b','c'); 
	return 0;
 }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183488.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oracle基本面试题_mongodb面试题

    oracle基本面试题_mongodb面试题1.Oracle跟SQLServer2005的区别?宏观上:1).最大的区别在于平台,oracle可以运行在不同的平台上,sqlserver只能运行在windows平台上,由于windows平台的稳定性和安全性影响了sqlserver的稳定性和安全性2).oracle使用的脚本语言为PL-SQL,而sqlserver使用的脚本为T-SQL微观上:从数据类型,数据库…

    2022年8月29日
    3
  • php stripslashes 函数的意思

    php stripslashes 函数的意思脑子不行了,很多东西看过就忘,比如这个stripslashes,知道是去除反斜杠,但为啥用它死活想不起来,搜索一下,把这几篇文章抄下来:1、反斜杠是怎么回事两个东西ini_set(magic_q

    2022年7月2日
    28
  • xpath定位随机元素之starts-with的用法

    xpath定位随机元素之starts-with的用法

    2021年5月24日
    117
  • 词袋模型和词向量模型

    词袋模型和词向量模型本文简要介绍了词袋模型、词向量模型的原理和应用。

    2022年6月13日
    42
  • 谷歌的api_谷歌浏览器添加搜索引擎

    谷歌的api_谷歌浏览器添加搜索引擎1.搜索引擎API接口地址为https://www.proxy.ustclug.org/customsearch/v1?key={YOUR_KEY}&q={SEARCH_WORDS}&cx={YOUR_CX}&start={10}&num={10}通过谷歌可编程搜索引擎自定义个人搜索引擎,并且记住搜索引擎的CXid。创建后即可根据项目中的apiid,查询链接console.cloud.google.com根据CXid和apiid,即可调用定义好的搜索引擎

    2025年9月2日
    3
  • 面试题vue双向绑定原理_vue路由面试题

    面试题vue双向绑定原理_vue路由面试题引言:vue的双向绑定原理简单来说就是:vue内部使用object.defineProperty方法给所有数据加上getter和setter方法,在数据发生改变时发布消息给订阅者Watcher,触发响应的监听回调。object.defineProperty是JS里一个重要的方法,vue的双向绑定ES6里一些方法都是靠它实现的。如图所示zuoerobject.defineProperty…

    2022年10月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号