python偶数数列求和_Numpy 斐波纳契数列求和
斐波納契數列求和,本章我們將對斐波那契數列中取值不大于四百萬且為偶數的項進行求和運算。斐波納契數列是從0開始的一個整數序列,除了第一項和第二項是0和1之外,其余各項的取值都是該項之前的兩項求和的結果。
也可以認為斐波那契數列的第一項為1,把0看作第零項并省略不寫。
有關斐波那契數列的更多信息,請參閱維基百科頁面 http://en.wikipedia.org/wiki/Fibonacci_number的相關介紹。
本章使用了一個基于黃金比例(golden ratio)的公式。黃金比例就是一個無理數,有著類似于π的獨特屬性。我們將用到sqrt、log、arange、astype和sum函數。
具體步驟
首先需要計算黃金比例(http://en.wikipedia.org/wiki/Golden_ratio)。黃金比例也被稱作黃金分割(golden section或golden mean)。
計算黃金比例。
我們將使用sqrt函數計算5的平方根:
這樣就得到了黃金分割數:
確定小于四百萬的項的最大索引值。
接下來,需要確定斐波那契數列中小于四百萬的項的最大索引值。我們將用維基百科頁面中給出的一個公式計算這個索引值。我們需要做的是使用log函數,把對數的底數轉換一下。不需要對計算的結果向下取整,本攻略的下一步驟將自動完成取整操作。
n的計算結果是:
創建一個從1到n的數組。
arange函數是一個非常基本的函數,想必大家都熟悉。為了內容的完整性,我們這里還是專門提一下。
計算斐波那契數列。
有一個方便的公式,可以用來計算斐波那契數列。需要把黃金比例和上一步驟創建的數組作為該公式的輸入參數。
為了檢查計算的結果,把計算得到的斐波那契數列的前9個數打印出來:
單元測試用來測試一個小的代碼單元(例如函數)的正確性。可以用單元測試代替打印語句,這個作為練習留給讀者自己完成。
順便注意一下,數列的第一項是1。上述代碼生成了我們預期的數列:
如果你愿意,可以把這個結果用在單元測試中。
轉換為整數。
這個步驟是可選的,但我想最終結果最好還是轉換為整數。實際上,我是想介紹astype函數。
上述代碼生成如下結果(簡潔起見,省略了部分內容):
選出數列中取值為偶數的項。
本攻略要求我們選出數列中取值為偶數的項。如果已經學習過了上一章中的布爾型索引,這應該不難實現。
我們得到的是:
本攻略的完整代碼如下。
攻略小結
在本章中,我們用到了sqrt、log、arange、astype和sum函數。它們的功能描述如下:
函數
功能描述
sqrt
計算數組元素的平方根
log
計算數組元素的自然對數
arange
生成一個指定范圍的數組
astype
把數組元素轉換為指定的數據類型
sum
計算數組元素之和
總結
以上是生活随笔為你收集整理的python偶数数列求和_Numpy 斐波纳契数列求和的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 建立主DNS区域和辅助DNS区域的最佳实
- 下一篇: Python自然语言处理 3 处理原始文