小菜鸟系统学习Python-迭代实现斐波那契和汉诺塔问题

斐波那契:

python 复制代码
def fbnq(n):
    n1 = 1
    n2 = 1
    n3 = 1

    if n<1:
        print('输入错误,应该大于1')
        return -1

    while (n-2)>0:
        n3 = n2 + n1
        n1 = n2
        n2 = n3
        n-=1

    return n3



a = fbnq(10)
print('共有%d个兔子'%a)

汉诺塔:

python 复制代码
def hnt(n,x,y,z):
    if n==1:
        print(x,'->',z)
    else:
        hnt(n-1,x,z,y)#将前n-1个从x移到y上
        print(x,'->',z)#将最下面的移动到z上
        hnt(n-1,y,x,z)#将这n-1个移z上


n = int(input('请输入层数:'))
hnt(n,'x','y','z')

结果:

相关推荐
feiyangqingyun24 分钟前
Qt项目作品在苹果macos上编译运行效果/视频监控系统/物联网平台等
开发语言·qt·macos
测试老哥35 分钟前
Postman环境变量设置全攻略
自动化测试·软件测试·python·测试工具·职场和发展·接口测试·postman
你不是我我1 小时前
【Java 开发日记】我们来说一说 Redisson 的原理
java·开发语言
kk”1 小时前
C++ stack 和 queue
开发语言·c++
Matlab仿真实验室1 小时前
基于Matlab实现双目图计算深度图
开发语言·数码相机·matlab·双目图计算深度图
惜月_treasure1 小时前
Text2SQL与工作流实现:让数据库查询变得轻松又高效
数据库·人工智能·python
QT 小鲜肉2 小时前
【数据结构与算法基础】05. 栈详解(C++ 实战)
开发语言·数据结构·c++·笔记·学习·算法·学习方法
老K的Java兵器库2 小时前
Collections 工具类 15 个常用方法源码:sort、binarySearch、reverse、shuffle、unmodifiableXxx
java·开发语言·哈希算法
武子康2 小时前
Java-153 深入浅出 MongoDB 全面的适用场景分析与选型指南 场景应用指南
java·开发语言·数据库·mongodb·性能优化·系统架构·nosql
码猩2 小时前
获取dm音视频文案
python