当前位置: 首页 > news >正文

网站搭建平台有哪些中小企业网络规划与设计方案

网站搭建平台有哪些,中小企业网络规划与设计方案,形象设计师培训学校,wordpress 代码分享前言 今天我们学习一个老经典的问题-----汉诺塔问题,可能在学习编程之前我们就听说过这个问题,那这里我们如何去通过编程的方式去解决这么一个问题呢?下面接着看。 汉诺塔问题 问题描述 这里是引用汉诺塔问题源自印度一个古老的传说&#x…

前言

今天我们学习一个老经典的问题-----汉诺塔问题,可能在学习编程之前我们就听说过这个问题,那这里我们如何去通过编程的方式去解决这么一个问题呢?下面接着看。

在这里插入图片描述

汉诺塔问题

问题描述

这里是引用汉诺塔问题源自印度一个古老的传说,印度教的“创造之神”梵天创造世界时做了 3 根金刚石柱,其中的一根柱子上按照从小到大的顺序摞着 64 个黄金圆盘。梵天命令一个叫婆罗门的门徒将所有的圆盘移动到另一个柱子上,移动过程中必须遵守以下规则:
每次只能移动柱子最顶端的一个圆盘;
每个柱子上,小圆盘永远要位于大圆盘之上;

下面展示一个三个的汉诺塔解决过程,如下图所示:
在这里插入图片描述
在这里插入图片描述
其他情况:
在这里插入图片描述

解决思路(分治算法)

看上面这几个图,我们是否发现这么一个特点,要想把A柱子(起始柱)上的汉诺塔转移到C柱子(目标柱)上,而且还要满足汉诺塔的基本条件,那就把第三个柱子作为辅助柱(B柱),假设A柱子上有n个汉诺塔,这时候先把A柱子除了最下面的一层,其余的全部汉诺塔先放到B柱子上面,然后再把A柱子最下面的汉诺塔放到C柱子上,然后把B柱子上面的汉诺塔重新放回给A柱子当中(这个过程,C柱作为辅助柱子,B是起始柱,A是目标柱),这个过程就完成了一次放置,此时A柱子上面就剩下n-1个汉诺塔,再次重复以上的过程,最后就完成了汉诺塔的转移。

汉诺塔问题中,3 个圆盘至少需要移动 7 次,移动 n 的圆盘至少需要操作 2^n-1 次。

在汉诺塔问题中,当圆盘个数不大于 3 时,多数人都可以轻松想到移动方案,随着圆盘数量的增多,汉诺塔问题会越来越难。也就是说,圆盘的个数直接决定了汉诺塔问题的难度,解决这样的问题可以尝试用分治算法,将移动多个圆盘的问题分解成多个移动少量圆盘的小问题,这些小问题很容易解决,从而可以找到整个问题的解决方案。

代码实现(C语言)

#include<stdio.h>//打印移动的过程
void move(char x, char y) {printf("%c--->%c\n", x, y);
}//递归移动
void generate(int n,char a, char b, char c) {if (n == 0)return;	//如果移动完成了就返回,开始递归运算//第一个过程,先把A柱子上的前n-1个汉诺塔移到B柱子上,再把最底下的那个汉诺塔移动到C上//此时a是起始柱子,c是目标柱,b是辅助柱		a--->cgenerate(n - 1, a, c, b);move(a, c);//第二个过程,当第一个过程完成了之后,就要把B柱子上的n-1个汉诺塔移回A柱子,这就是整体一个分支过程//此时b是起始柱,a是目标柱,c是辅助柱		b--->agenerate(n - 1, b, a, c);
}int main() {int n;printf("输入汉诺塔个数:");scanf("%d", &n);generate(n, 'A', 'B', 'C');
}

运行结果如下:
在这里插入图片描述

好了,以上就是本期的全部内容了,这个汉诺塔是不是很有意思呢?你学会了吗?
分享一张壁纸:在这里插入图片描述

http://www.yayakq.cn/news/17719/

相关文章:

  • 母婴网站源码dede网站建设需要域名吗
  • 南宁网站建设seo优化营销制作网上注册公司的网址
  • 云南省工程建设交易系统网站wordpress酒店模板下载
  • 青海营销网站建设服务图片展示 wordpress
  • 网站建设+临沂ip域名查询网站入口
  • 做网站如何赚钱计算机培训课程
  • 西宁网站建设制作公司南宁北京网站建设
  • 新区网站建设制作网页最多的图片格式
  • 青岛住房和城乡建设厅网站首页网站搭建本地环境
  • 南宁市营商环境建设局网站简易做海报网站
  • 做网站旅游销售试用型网站
  • 网站建设公司话术布料市场做哪个网站好
  • 自己的网站怎么编辑器js 曲线 网站
  • 公司的官方网站怎么做斗图制作器
  • 个人备案的公司网站坪山网站建设行业现状
  • 昆明网站建站平台凡科建站模板
  • 徐州市城乡和城乡建设厅网站首页企业管理咨询名词解释
  • 开网站挣不挣钱河北秦皇岛黄金海岸
  • 临沂网站建设昂牛网络网站开发模板教程
  • 家装效果图设计网站传奇手机版网站
  • 西华县建设局网站那个网站的域名便宜
  • 制作手机网站什么软件下载新浪微指数
  • 怎么检查网站有没有被挂马wordpress阿里云图片
  • 东莞++网站建设自建营销型网站模板
  • 一级a做爰片免费观看 安全网站注册企业营业执照需要什么条件
  • 做网站公司怎么做网站建设的闪光点
  • 工信部网站域名备案信息查询怎样给网站做优化
  • 卡车行业做网站的用途怎么在网上建网站
  • 给军方做网站套模板行不行优秀的营销案例ppt
  • 商务网站策划书网页制作与网站建设教程视频