文档章节

python的汉诺塔程序

忘川-hsm
 忘川-hsm
发布于 2016/12/11 23:12
字数 252
阅读 27
收藏 0
点赞 0
评论 0

首先贴代码.代码其实就是一个移植,思想很重要.

        def move(n,a,buffer,c):

            if(n==1):
                print (a,"-->",c)
            return
            move(n-1,a,c,buffer)
            move(1,a,buffer,c)
            move(n-1,buffer,a,c)
            move(3,'a','b','c')

    n,表示要移动的柱子数

    a,表示源柱

    buffer表示依赖柱

    c,表示目标柱

首先判断除出递归的条件,只有一个是,直接将源柱A移到目标柱C

接下来整体判断: n个柱子时

                       顶层的n-1个柱子,从A借助C移到buffer

                         将A地底下的柱子移到C下

                          b上n-1个柱子借助A移到C上

最后完成整个过程

                        

 

 

© 著作权归作者所有

共有 人打赏支持
忘川-hsm
粉丝 7
博文 80
码字总数 49165
作品 0
深圳
程序员
人人都能学会的python编程教程13:递归函数

话说美食街上有个煎包店,1块钱2个,2块钱3个,3块钱5个,5块钱8个。人们笑称之为斐波拉切煎包。 在数学上,斐波纳契数列被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n...

编程老司机 ⋅ 05/10 ⋅ 0

汉诺塔算法和背后的数据结构

汉诺塔是有算法的。 很多问题都有解决办法,汉诺塔也不例外。如果汉诺塔的算法符合 Introduction to algorithms 这本书的观点:在计算机出现以前就有了算法,只不过计算机的出现带来了更多的...

刘思宁 ⋅ 01/10 ⋅ 0

java组合实现算法

组合的话原理上比排列简单,我想大一拿C嘎嘎写汉诺塔程序是很常见的,这个原理类似,也是直接交换元素 public class A_private {public static void zuhe(char[] all, int times) {if (all....

天地一MADAO_ ⋅ 2014/03/20 ⋅ 0

php 经典的算法题你懂的

有5个人偷了一堆苹果,准备在第二天分赃。晚上,有一人遛出来,把所有菜果分成5份,但是多了一个,顺手把这个扔给树上的猴了,自己先拿1/5藏了。没想到其他四人也都是这么想的,都如第一个人...

zchd ⋅ 2013/06/17 ⋅ 0

递归——汉诺塔

文章作者:Tyan 博客:noahsnail.com | CSDN | 简书 1. 递归 一个函数调用其自身,就是递归。 2. 汉诺塔 问题描述 有一个梵塔,塔内有三个座A、B、C,A座上有诺干个盘子,盘子大小不等,大的...

Quincuntial ⋅ 2017/12/28 ⋅ 0

《具体数学》1.1递归(一)

《具体数学》通过三个例子来讲递归,分别是:Hanoi Tower(汉诺塔)、Lines in the Plane(平行中的直线)、Josephus Circle(约瑟夫环问题) 这三个例子一直被数学家们反复研究;已知解法都使用递归...

古藤昏鸦 ⋅ 2014/05/08 ⋅ 0

经典递归问题——汉诺塔

Description 汉诺塔(又称河内塔)问题是印度的一个古老的传说。开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒,第一根上面套着64个圆的金片,最大的一个在底下,其余一个比一个小,依次...

Picasso ⋅ 2011/09/16 ⋅ 0

《Python从小白到大牛》第3章 第一个Python程序

本章以HelloWorld作为切入点,介绍如何编写和运行Python程序代码。 运行Python程序主要有两种方式: 1.交互式方式运行 2.文件方式运行 本章介绍这两种运行方式实现HelloWorld程序。 使用P...

tony关东升 ⋅ 06/20 ⋅ 0

什么是Cython?0基础学python开发

  Cython是Python的一个超集,结合了Python的易用性和原生代码的速度,可以编译成C语言,产生的性能提升可以从几个百分点到几个数量级,具体取决于手头的任务。   使用Cython,你可以避开...

zhouzhou2018 ⋅ 05/22 ⋅ 0

Python Scrapy 爬虫(三):部署环境搭建

当我们的爬虫程序开发完成后,应该考虑的事情就是如何将我们的爬虫程序部署到我们的服务器上来运行了。 下面就以 CentOS 作为我们的爬虫程序的部署环境来介绍部署爬虫的第一步:部署环境搭建...

雨林_a1d6 ⋅ 05/29 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 20分钟前 ⋅ 0

VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】

前言 我是上学期学的汇编,因为有vs又不想用课上教的麻烦的dosbox以及masm32,但是一直没找到高亮插件和能调试的(难在运行不了而找不到答案上,出现的错误在最后放出,还请先达们不吝指点)...

simpower ⋅ 29分钟前 ⋅ 0

一起读书《深入浅出nodejs》-node模块机制

node 模块机制 前言 说到node,就不免得提到JavaScript。JavaScript自诞生以来,经历了工具类库、组件库、前端框架、前端应用的变迁。通过无数开发人员的努力,JavaScript不断被类聚和抽象,...

小草先森 ⋅ 32分钟前 ⋅ 0

Java桌球小游戏

其实算不上一个游戏,就是两张图片,不停的重画,改变ball图片的位置。一个左右直线碰撞的,一个有角度碰撞的。 左右直线碰撞 package com.bjsxt.test;import javax.swing.*;import j...

森林之下 ⋅ 39分钟前 ⋅ 0

你真的明白RPC 吗?一起来探究 RPC 的实质

你真的明白RPC 吗?一起来探究 RPC 的实质 不论你是科班出身还是半路转行,这么优秀的你一定上过小学语文,那么对扩句和缩句你一定不陌生。缩句就是去除各种修饰提炼出一句话的核心,而不失基...

AI9o後 ⋅ 41分钟前 ⋅ 0

z-index设置失效?

今天碰到了一个问题,就是在给li设置提示框的时候,有用到遮罩效果,本来想把对应的出现在最顶层,可是不管将li设置的z-index值设为多大,li都没有出现在遮罩层之上。 我在网上查了z-index设...

IrisHunag ⋅ 48分钟前 ⋅ 0

CyclicBarrier、CountDownLatch以及Semaphore使用及其原理分析

CyclicBarrier、CountDownLatch以及Semaphore是Java并发包中几个常用的并发组件,这几个组件特点是功能相识很容易混淆。首先我们分别介绍这几个组件的功能然后再通过实例分析和源码分析其中设...

申文波 ⋅ 52分钟前 ⋅ 0

Java对象的序列化与反序列化

Java对象的序列化与反序列化

Cobbage ⋅ 今天 ⋅ 0

Sqoop

1.Sqoop: 《=》 SQL to Hadoop 背景 1)场景:数据在RDBMS中,我们如何使用Hive或者Hadoop来进行数据分析呢? 1) RDBMS ==> Hadoop(广义) 2) Hadoop ==> RDBMS 2)原来可以通过MapReduce I...

GordonNemo ⋅ 今天 ⋅ 0

全量构建和增量构建的区别

1.全量构建每次更新时都需要更新整个数据集,增量构建只对需要更新的时间范围进行更新,所以计算量会较小。 2.全量构建查询时不需要合并不同Segment,增量构建查询时需要合并不同Segment的结...

无精疯 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部