python递归函数

本文介绍了递归函数的概念及其在编程中的应用,通过斐波那契数列和哈诺塔问题两个经典例子,深入浅出地讲解了递归的实现原理与过程。递归是一种重要的编程思想,它能够将复杂的问题分解为更简单的子问题来解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

递归函数(100以内递归,开外用循环吧)

递归是函数间接或直接调用自身,一般分两个过程向下调用分解的过程和向上回溯综合的过程

***递归需要注意一定要有结束,否则会成为死循环,

#斐波那契数列:(这玩意儿是真他妈恶心,主要是面试他妈的一上来就是这玩意儿的原理和算法)

def fib(n):
    if n == 1 or n == 2:
        return 1
    return fib(n-1) + fib(n-2)
rst = fib(10)
print("rst = " , rst)

rst =  55

#是以资源换取编写速度的算法

#哈诺塔函数

a = 'A'
b = 'B'
c = 'C'
def hano(a, b, c, n):
    if n == 1:
        print("{}--->{}".format(a, c))
        return None
    if n == 2:
        print("{}--->{}".format(a, c))
        print("{}--->{}".format(a, b))
        print("{}--->{}".format(b, c))
    hano(a, c, b, n-1)
    print("{}--->{}".format(a, c))
    hano(b, a, c, n-1)
hano(a, b, c, 3)

这里我就不写结果了,自己打印去吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值