1. 程式人生 > >第十一題:生兔子問題

第十一題:生兔子問題

'''古典問題:有一對兔子,從出生後第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))