用兔子生兔子来解释递归函数

用兔子生兔子来解释递归函数

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

def rab(month):
    """
    用于实现递归函数,返回兔子总数,古典问题
    :param month: 第几个月
    :return: 兔子总数
    """
    if month==1:
        return 1
    if month==2:
        return 1
    else:
        count=rab(month-1)+rab(month-2)
        return count

1、递归调用自己做运算
2、递归一定要有一个结束条件
3、递归使用不当将很快耗尽计算机资源

print(rab(1))
print(rab(2))
print(rab(3))
print(rab(4))
print(rab(5))
print(rab(6))

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44090577/article/details/89151945