1. 程式人生 > >Fibonacci數列求和

Fibonacci數列求和

__author__ = 'guoguo'
#encoding:utf-8
'''
求解fibonacci數列中取值不大於四百萬且為偶數的項進行求和運算。
本文使用了一個基於黃金比例的公式。
'''
import numpy

#1.進行黃金比例phi的計算
phi=(1+numpy.sqrt(5)/2)
#2確定取值小於四百萬的項的最大索引值
n=numpy.log(4*10**6*numpy.sqrt(5)+0.5)/numpy.log(phi)
print n
#3建立一個從到1的陣列
n=numpy.arange(1,n)
print n
#計算fibonacci
fib=(phi**n-(-1
/phi)**n)/numpy.sqrt(5) print "First 10 Fibonacci Numbers",fib[:10] #轉換為整數 fib=fib.astype(int) print "integers",fib #選出偶數 eventerms=fib[fib%2==0] print eventerms #求和 print eventerms.sum() #關於一些函式的用法 #1.numpy.arange()生成陣列 #2.astype(int)轉型別 #3.a=fib[fib%2==0],直接取出了偶數 應該好好了解python關於陣列的運算 #4..sun()可直接對陣列求和

執行結果