第十一题:生兔子问题

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


程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....
'''
#方法一:循环赋值
'''
a=1
b=1
print(a,b,end=',')
for i in range(10):
    c=a+b
    a=b
    b=c
    print(c,end=',')
'''
#方法二:列表
'''list=[1,1]
for i in range(10):
    list.append(list[i]+list[i+1])
print(list)
'''
#函数实现,
'''
def rab(n):
    rabs=[1,1]
    if(n==1):
        return rabs[0]
    elif(n==2):
        return rabs[:2]
    for i in range(n):
        rabs.append(rabs[-1]+rabs[-2])
    return rabs
print(rab(10))
'''
#递归实现
def rab(n):
    if(n==1 or n==2):
        return 1
    else:
        return rab(n-1)+rab(n-2)
print(rab(10))

猜你喜欢

转载自blog.csdn.net/qq_34173491/article/details/80357070