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()可直接对数组求和

运行结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值