古典問題:3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月兔子總數是多少?(使用回圈實作)
分析:
第一個月是1對
第二個月還是1對
第三個月是2對(因為第三個月之前的一對兔子可以生一對兔子)
第四個月是3對(因為三個月以后的兔子每個月都可以生一對兔子)
第五個月是5對(因為老兔子又生了一對,前兩個月生的一對幼兔3個月了,以后的每個月都可以生一對兔子了)
......
以此類推,我們可以發現,這就構成了斐波那契數列!
1,1,2,3,5......
斐波那契的特點就是前面相鄰兩項之和,構成了后一項,
1 # 1000以內的數列 2 a=0 3 b=1 4 while b < 1000: 5 print(b,end=',') # 用逗號分隔輸出 6 a, b = b, a+b
""" 說明:a, b = b, a + b 這種賦值,先計算等值右邊 b=1 a+b=0+1 再賦值給a和b,那么 a=1, b=1 """
2.求斐波那契數列中第n個數的值:1,1,2,3,5,8,13,21,34... (輸入n為任意正整數)
程式分析:
斐波那契數列是這樣的?個數列:1、1、2、3、5、8、13、21、34、....
第?個數和第?個數是1,從第三個數開始每個元素是前兩個元素相加的和,
代碼:
1 n = int(input('n:')) 2 x = 0 3 y = 1 # 第1個數 4 z = 1 5 # 第一個數不進入回圈 6 for i in range(2,n+1): 7 # 根據規律獲取計算當前數 8 z = x+y 9 x = y 10 y = z 11 # 這里的x = y y = z 或者可以寫成:x,y = y,z 12 print(f'第{n}個數的值是:{z}')
輸入9列印:
n:9
第9個數的值是:34
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/154304.html
標籤:Python
