python个数计算公式_使用python中的公式计算第n个斐波纳契数
你确实看到了舍入错误.
矩阵形式是更准确和更快的算法. Literateprograms.org列出了一个很好的实现,但它还列出了基于Lucas数的以下算法:
def powLF(n):
if n == 1: return (1, 1)
L, F = powLF(n//2)
L, F = (L**2 + 5*F**2) >> 1, L*F
if n & 1:
return ((L + 5*F)>>1, (L + F) >>1)
else:
return (L, F)
def fib(n):
if n & 1:
return powLF(n)[1]
else:
L, F = powLF(n // 2)
return L * F
上述算法和矩阵方法都具有Θ(lg n)复杂度,就像您使用的朴素递归平方方法一样,但没有舍入问题. Lucas数字方法具有最低的常数成本,使其成为更快的算法(大约是矩阵方法的两倍):
>>> timeit.timeit('fib(1000)', 'from __main__ import fibM as fib', number=10000)
0.40711593627929688
>>> timeit.timeit('fib(1000)', 'from __main__ import fibL as fib', number=10000)
0.20211100578308105
python个数计算公式_使用python中的公式计算第n个斐波纳契数相关推荐
- 在计算机科学中算法指的是,算法 - 为什么斐波纳契数在计算机科学中具有重要意义?...
算法 - 为什么斐波纳契数在计算机科学中具有重要意义? Fibonacci数字已经成为计算机科学学生递归的一个流行的介绍,并且有一个强烈的论据,他们坚持在自然界. 出于这些原因,我们很多人都熟悉它们. ...
- python计算第n个斐波那契数_计算第n个斐波那契数
方法一:传统递归法 时间复杂度O(2^n),空间复杂度O(n) 计算Fibonacci(10)十次平均用时0.0003s 计算Fibonacci(100)单次用时大于1min 时间复杂度极高,当 ...
- python个数计算公式_用python计算1-100的合数的个数
最佳答案 具体代码如下所述: __author__ = 'Yue Qingxuan'# -*- coding: utf-8 -*-#求质数p=[2]for i in range(2,101): for ...
- Python递归实现①把嵌套列表压平为一层列表②返回嵌套列表中某元素出现的个数③返回第n个斐波那契数
一.把嵌套列表压平为一层列表 def flatten(nested_list):'''这是把嵌套列表压平为简单列表并返回的函数:参数 nested_list:一个嵌套列表'''#先定义一个空列表,用于 ...
- python斐波那契数列第四十项_科学网—不死神兔的繁衍生息——神奇的斐波那契数列 - 霍开拓的博文...
不死神兔的繁衍生息--神奇的斐波那契数列 • 故事得从西元1202年说起,话说有一位意大利青年,名叫斐波那契.在他的一部著作中提出了一个有趣的问题:假设一对刚出生的小兔一个月后就能长成大兔,再过一个月 ...
- 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时返回 ...
- Python - Python3 编程第一步 Fibonacci series: 斐波纳契数列
Fibonacci series: 斐波纳契数列, 两个元素的总和确定了下一个数,例如:1 1 2 3 5 8 13 21 34 55 Python程序如下: def fibonacci1(n):a, ...
- Python一行代码求解斐波那契数
1. 斐波那契数 斐波那契数是一系列数字,其中每个数字是前两个数字的总和.斐波那契数列中的第一个和第二个数都是1,后面的数是前两个数的和. 如下所示: 1 1 2 3 5 8 13 21 34 55 ...
- Python还能这么玩?Turtle一个上帝的指纹!(斐波那契螺旋线)
斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数列&qu ...
最新文章
- Bone Collector
- ITK:计算两个图像之间的均方度量值
- java 读取 jar properties_java:如何读取properties文件内容
- 【实践】预训练模型在华为信息流推荐中的应用与探索.pdf(附下载链接)
- ORA-01033 的解决
- 时间安排还是很不合理
- 565.数组嵌套(力扣leetcode) 博主可答疑该问题
- 正运动控制固件升级问题记录
- [Aria2][Linux]宝塔面板Aria2安装和配置教程
- C# Transaction 事务
- 2018的锅让2019来悲
- cpu飙高1000,几近崩溃
- 安全赋能区域数字化转型,普陀区副区长徐树杰带队调研上海控安
- 征信为民守初心!《征信业管理条例》颁布十周年
- 年薪30万+的HR这样做数据分析!(附关键指标免费模版)
- 了解公司企业:Primetics
- 购物网站被劫持跳转返利推广网站的分析过程和解决方法
- android wifi讲解 wifi列表显示
- html和js画圣诞树图片,基于JS2Image实现圣诞树代码,
- CSV文件内容乱码处理办法