斐波纳契数列求和,本章我们将对斐波那契数列中取值不大于四百万且为偶数的项进行求和运算。斐波纳契数列是从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 斐波纳契数列求和相关推荐

  1. 斐波纳契数列 1,1,2,3,5,8,13,21,34,55,89……这个数列则称为“斐波纳契数列”,其中每个数字都是“斐波纳契数”。

    1131: 斐波纳契数列 1,1,2,3,5,8,13,21,34,55,89--这个数列则称为"斐波纳契数列",其中每个数字都是"斐波纳契数". #inclu ...

  2. python中定义函数,斐波纳契数列:1,1,2,3,5,8,13。。

    练习1:斐波纳契数列:1,1,2,3,5,8,13... (该数列中,有n个数字,从第三个数字开始:数值 =前一个数字 + 前面一个数字) 结论:n=(n-2)+(n-1) 条件:n=1或n=2时返回 ...

  3. python中求斐波那契数偶数和_[译] 斐波那契数列中的偶数 (Python vs. JavaScript)

    斐波那契数列中的偶数 (Python vs. JavaScript) 对于雇主来说,用某种方式来生成斐波那契数列是一道热门的面试题.而求斐波那契数列中的所有偶数便是其热门的变体之一.这里,我将用 Py ...

  4. Python - Python3 编程第一步 Fibonacci series: 斐波纳契数列

    Fibonacci series: 斐波纳契数列, 两个元素的总和确定了下一个数,例如:1 1 2 3 5 8 13 21 34 55 Python程序如下: def fibonacci1(n):a, ...

  5. Python编程实现——斐波纳契数列

    斐波纳契数列 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数 ...

  6. python兔子繁殖问题中如何输出相应月份的数列_斐波那契数列介绍及Python中五种方法斐波那契数列...

    Q:斐波那契数列为何那么重要,全部关于数学的书几乎都会提到? A:由于斐波那契数列在数学和生活以及天然界中都很是有用.html 1. 斐波那契数列 概念引入 斐波那契数列(Fibonacci sequ ...

  7. 斐波那契数列介绍及Python中五种方法斐波那契数列

    Q:斐波那契数列为什么那么重要,所有关于数学的书几乎都会提到? A:因为斐波那契数列在数学和生活以及自然界中都非常有用. 1. 斐波那契数列 概念引入 斐波那契数列(Fibonacci sequenc ...

  8. 波菲那契数列公式_斐波那契数列求和公式

    展开全部 1.奇数项求和 2.偶数项求和 3.平方求和 在数学上,斐波那契数列以如下被以32313133353236313431303231363533e78988e69d83313334313663 ...

  9. Python3 编程第一弹 斐波纳契数列

    现在,我们能使用 Python 完成比 ​1 + 2 更复杂的工作.在下例里,我们能写出一个初步的斐波纳契数列如下: #!/usr/bin/python3 # Fibonacci series: 斐波 ...

  10. python编写递归函数、求斐波那契数列第n项的值_用递归函数求斐波那契数列的第n项的值...

    展开全部 #include int Fibonacci(int n) { if( n == 1 || n == 2) // 递归结束的条件,求前两项 return 1; else return Fib ...

最新文章

  1. sql 相加_SQL-多表查询
  2. NumPy - 字符串函数
  3. 计算机硬盘工作时应该避免什么,什么是电脑硬盘?有何作用?如何保养它?
  4. yaf(5) smarty
  5. 2015年下半年《软件评测师》下午试卷及答案
  6. golang CI: Use result of type assertion to simplify cases SCC-S1034
  7. 封装动态数组类Array
  8. php定时器使用,PHP定时器的说明
  9. BZOJ 1444 [JSOI2009]有趣的游戏 (Trie图/AC自动机+矩阵求逆)
  10. Vmware VirtualCenter Server服务无法自动启动
  11. 使用Memory Analyzer tool(MAT)分析内存泄漏(二)
  12. Android SDK Permission大全访问权限
  13. qq群管机器人php,常用几款QQ群管机器人软件功能和体验对比
  14. 给自定义Dialog加入保留对话框值的功能
  15. 三国群英传服务器端架设修改,【三国OL单机假设】三国群英传架设单机方法
  16. 拼多多电商外部工具(浏览器插件)
  17. 计算机分级时无法度量视频播放,无法度量视频播放性能怎么办-无法度量视频播放性能的解决方法 - 河东软件园...
  18. 数组类型的修改和去重
  19. FileNotFoundError: [WinError 2] 系统找不到指定的文件
  20. EM算法-硬币实验的理解

热门文章

  1. python selenium下载图片_python 登陆开心网图片批量下载-selenium实现
  2. AWS扩容硬盘(转)
  3. 文件复制到u盘后文件夹是空的,怎么恢复?
  4. php7国内,介绍php7和php5对比
  5. cocos creator 加载微信云端图片
  6. Email 邮件方式激活注册账号
  7. 遥感数据网站整理中......
  8. 前缀和差分 精讲(一维、二维、附例题!)
  9. Mongodb数据丢失解决办法
  10. 计算机应用基础上海交通大学出版社双色版,计算机应用基础模块化教程