博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
汉诺塔变种问题
阅读量:5482 次
发布时间:2019-06-16

本文共 508 字,大约阅读时间需要 1 分钟。

问题描述

汉诺塔问题中限制不能将一层塔直接从最左侧移动到最右侧,也不能直接从最右侧移动到最左侧,而是必须经过中间。求当有N层塔的时候移动步数。

代码部分(python3)

打印出移动过程:

def hanoi(num):    global steps    if num == 1:        print(A+'2'+B)        print(B+'2'+C)    else:        hanoi(num-1)        print(A+'2'+B)        hanoi(num-1)        print(B+'2'+C)        hanoi(num-1)N = int(input())hanoi(N)

求移动次数

N = int(input())def hanoi(num):    if num == 1:        return 2    else:        return hanoi(num-1) * 3 + 2print(hanoi(N))

转载于:https://www.cnblogs.com/zxpnotebook/p/10120004.html

你可能感兴趣的文章
ubuntu升级16.04 inter idea 中文输入法无效
查看>>
三目运算判断jsp脚本里面的值
查看>>
sshtunnel在本地访问云服务器mysql
查看>>
小蚂蚁学习APP接口开发(1)—— json方式封装通信接口
查看>>
我的友情链接
查看>>
CDN相关
查看>>
Tomcat的设置4——Tomcat的体系结构与设置基于端口号的虚拟主机
查看>>
我的友情链接
查看>>
ftp协议基础
查看>>
访问共享经常中断
查看>>
人生的交易
查看>>
MySql
查看>>
sql server 下载安装标记
查看>>
js运算符(运算符的结合性)
查看>>
idea 编译级别的设置
查看>>
内置对象Array的原型对象中添加方法
查看>>
12行代码的相关节点
查看>>
6大设计原则
查看>>
Github简介
查看>>
存储过程—导出table数据为inser sqlt语句
查看>>