1. 程式人生 > >兩個關於數列的Python腳本(斐波那契數列和猴子吃香蕉類問題)

兩個關於數列的Python腳本(斐波那契數列和猴子吃香蕉類問題)

斐波那契數列 公式 shadow 數學家 因數 app text img mage

斐波那契數列(Fibonacci sequence),因數學家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”,又因其相鄰兩項的比無限接近黃金分割比例,所以又稱為黃金分割數列,指的是這樣一個數列:1、1、2、3、5、8、13、21、34、……,即後一項是前兩項的和。

#!/usr/bin/python
#coding:utf-8
#斐波那契數列
x=[0,1]
for i in range(int(raw_input(‘請輸入數字:‘))):
tmp=x[-1]+x[-2]
x.append(tmp)
print x

技術分享圖片


猴子吃香蕉類問題:有一堆香蕉,猴子第一天吃一半,沒忍住多吃了一個,以後每天都是這樣,吃一半多吃一個,到了第九天還剩一個,求一共有多少個香蕉。這類問題歸結為一個公式就是X**1

=(X2+1*)2。

#!/usr/bin/python
#coding:utf-8
#每天吃一半多一個,第九天還剩1個,計算一共有多少個香蕉
i=1
a=9
while 0<a<=9:
tmp=(i+1)*2
i=tmp
a-=1
print i

技術分享圖片


總結數列相關問題:有關類似的數列相關的問題,最終都是通過公式和循環來計算的,所以分析問題要先歸納總結規律,得出公式,再用代碼來實現,先從較少的項數找規律,往更多的項上面推。
值得註意的是,循環方式的選擇,是選擇for循環還是選擇while循環。

兩個關於數列的Python腳本(斐波那契數列和猴子吃香蕉類問題)