python 斐波那契数列

Python之求斐波那契数列前n项 源码如下: # fibo.py def fibo(n): a, b = 0, 1 for i in range(n): print(a,end='\t') a,b = b, a + b n = eval(input("请输入一个整数:")) print('斐波那契前n项'.center(20,'-')) fibo(n) 运行结果: 关键代码也就两三行 ... 阅读详情

斐波那契数列

写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:

F(0) = 0, F(1) = 1
F(N) = F(N - 1) + F(N - 2), 其中 N > 1.
斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。

答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。

示例 1:

输入:n = 2
输出:1
示例 2:

输入:n = 5
输出:5

# 解法一 递归解法
# 由递推公式可得 f(n) = f(n-1) + f(n-2)
def fei_bo_na_qie_1(n):
    if n == 0 or n == 1:
        return n
    return fei_bo_na_qie_1(n-1) + fei_bo_na_qie_1(n-2)
    

# 由于递归的时间复杂度呈指数级增长
# 当n的值比较大的时候 是非常非常耗时的(经检验n=35的时候 耗时已经超过20s)
# 为了优化此问题 我们添加一个备忘录 我们可以在递归函数外面嵌套一个非递归的壳
def fei_bo_na_qie_2(n, mem):
    if n == 0 or n == 1:
        return n

    if mem[n] is not None:
        return mem[n]

    mem[n] = fei_bo_na_qie_2(n - 1, mem) + fei_bo_na_qie_2(n - 2, mem)
    return mem[n]

def main(n):
    mem = [None] * (n + 1)
    return fei_bo_na_qie_2(n, mem)

# 解法二 循环求余法
def fei_bo_na_qie_3(n):
    a, b = 0, 1
    for _ in range(n):
        a, b = b, a + b
    return a
python实现斐波那契数列打印 1、斐波那契数列定义:斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n&gt... 阅读详情

相关推荐

python实现斐波那契数列

斐波那契数列是一个非常经典的数列,它的定义是:第0项为0,第1项为1,从第二项开始,每一项都等于前两项之和。这是最直观的方式,但也是效率最低的方式,因为每次计算都需要重复计算前面的项。动态规划的方式将每一步的计算结果存储起来,避免了重复计算。迭代的效率比递归要高,因为它不需要重复计算。它从第2项开始,每次计算出下一项。以上三种方法都可以实现斐波那契数列, 可以根据需要选择适合的方法。斐波那契数列的递归实现和动态规划实现有什么优缺点?

道亦无名 2943

递归求Fabonacci数列 (10 分)

递归求Fabonacci数列 (10 分) 本题要求实现求Fabonacci数列项的函数。Fabonacci数列的定义如下: f(n)=f(n−2)+f(n−1) (n≥2),其中f(0)=0,f(1)=1。 函数接口定义: int f( int n ); 函数f应返回第n个Fabonacci数。题目保证输入输出在长整型范围内。建议用递归实现。 裁判测试程序样例: #include <std...

qq_43720467的博客 3849

示例 编程】使用Python实现斐波那契数列

斐波那契数列是一个经典的数学问题,它定义如下:第一个和第二个数字都是1,从第三个数字开始,每个数字都是前两个数字的和。换句话说,数列的第n个数字是第n-1个和第n-2个数字的和。的函数,该函数接受一个正整数作为输入,并返回斐波那契数列中对应位置的数字。首先,我们检查输入是否合法,如果输入小于等于0,则返回提示信息。然后,我们处理特殊情况:当输入为1或2时,直接返回1。这个程序可以计算较小的斐波那契数列,但对于非常大的数字可能会花费较长的时间。循环来计算斐波那契数列中的每个数字,并将其存储在一个列表中。

DevProPlus的博客 436

斐波那契数列

1. 题目概述 写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。斐波那契数列的定义如下: F(0) = 0, F(1)= 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1...

qq_41185460的博客 914

11种图像清晰度评价函数附MATLAB代码

博主的第一篇博客! 本科毕业论文是“基于图像处理的自动对焦技术研究”,对焦过程中的一个重要阶段是图像清晰度评价,博主自己用MATLAB实现了4类清晰度评价函数:基于图像梯度的清晰度评价函数、频域评价函数、信息熵评价函数、统计学评价函数,总计11种。博主之前没有用过MATLAB,完全是本科论文需要,没办法对着别人的代...

kungfu_rabbit的博客 5万+

信号完整性基础04:串扰(1)

我们理解了“单个”传输线(传输线是信号路径+回流路径,切记~),但大多数情况下单独“传输线”的情况并不多见(理想情况下的同轴线缆可以算一个),大多数我们PCB板上有成百上千条走线,它们组成了一个“大社会”,就如当年的TVB神剧《创世纪》一样,到处充满着恩怨情仇;稍处理不慎,单板这个“社会”就会崩溃。那么我们要从哪里入手去理解它呢?最基本的就是从两条PCB走线(传输线)之间的串扰开始。好,年前倒数第二章:《为什么会有串扰》。 ps:我们了解了x射线是啥,那么今天开始讲“放射线”,这两种东西是否就是同一种呢~

WKEZHENG的博客 6034

Fabonacci数列项的函数——函数递归

本题要求实现求Fabonacci数列项的函数。Fabonacci数列的定义如下: f(0)=0,f(1)=1 ,当n>=2时,f(n)=f(n-1)+f(n-2) 该函数形参n接收一个整数,输出第n个斐波拉契数,如输入6输出8 int f( int n ){ int fa; if(n==0){ fa=0; }else if(n==1 || n==2) fa=1; else fa=f(n-1)+f(n-2);

qq_46258465的博客 2884

SOC、SOH、OCV

1)放电实验法的测量SOH结果最为准确,但是深度放电会对影响电池的寿命;2)电阻折算法仅将电阻作为评价SOH的依据,但电池老化时电阻的变化范围较小,因此该方法的误差较大;3)电阻折算法需要对电池进行大量的实验,绘制成Map图,但是该方法有一定的局限性,针对不同的电池需要绘制不同的Map图;4)阻抗分析法是目前最为前沿的方法,可以根据阻抗谱较为直观的分析SOH的变化,但是该方法需要的成本较高,每台设备约为5万美元。

m0_61973119的博客 2万+

Python中斐波那契数列的四种写法

在这些时候,我可以附和着笑,项目经理是决不责备的。而且项目经理见了孔乙己,也每每这样问他,引人发笑。孔乙己自己知道不能和他们谈天,便只好向新人说话。有一回对我说道,“你学过数据结构吗?”我略略点一点头。他说,“学过数据结构,……我便考你一考。斐波那契数列用Python怎样写的?”我想,讨饭一样的人,也配考我么?便回过脸去,不再理会。孔乙己等了许久,很恳切的说道,“不能写罢?……我教给你,记着!这些字应该记着。将来做项目经理的时候,写账要用。”我暗想我和项目经理的等级还很远呢,而且我们项目里也用不到斐波那契数

FontTian的博客 5万+

一条 POST 创建整棵业务对象树,SAP Gateway Deep Create 的运行机制与 ABAP 实现

SAPUI5 的 OData V2 Model 支持 Deep Create,可以为一个新建的 transient parent context 创建 Navigation Property 下的 subentity,并把这些子实体的数据合并进 Root Entity 对应的 OData 请求 Payload。销售组织是否合法,客户是否允许下单,物料是否存在,销售区域是否匹配,计量单位是否正确,项目类别如何确定,定价是否成功,合作伙伴如何派生,交货工厂如何确定,这些都可能在一次创建过程中被触发。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 146

SAP PS 收入确认方法配置清单(成本推导收入 / 项目进度推导收入)

摘要:本文详细介绍了SAPPS模块中两种收入确认方法的配置流程:成本推导收入(成本比例法)和项目进度推导收入(里程碑法)。通过事务码OKG1-OKG5等关键配置步骤,分别实现基于累计成本比例和里程碑完成权重的收入确认逻辑。文章对比了两种方法的适用场景和管控要点:成本法适用于成本与进度强相关的项目,需严控预计总成本;进度法则依赖明确的里程碑验收。同时提供了落地建议,包括项目类型绑定、数据校验和变更管控等最佳实践,为SAPPS系统收入确认功能实施提供完整指导。

金牌架构师 952

python中使用递归实现斐波那契数列

python中使用递归实现斐波那契数列 python中使用递归实现斐波那契数列 先来了解一下 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N)在现代物理、

weixin_54733110的博客 10万+

【异常】came as a complete surprise to me,IllegalArgumentException: The template string is not valid.

是Spring AI中用于生成提示词(prompt)的一个类。提示词对于与大语言模型交互至关重要,因为它们指导模型生成特定类型的响应。允许开发者创建包含占位符的模板字符串,并通过提供具体的值来填充这些占位符,从而动态地生成个性化的提示词。

奶爸的编程之路,也就一周冷个三天 748

使用python实现斐波那契数列的四种方法

第一种方法实现(顺序输出) 第二种方法实现(利用python的组包拆包原理) 第三种方法实现(利用递归函数实现) 第四种方法实现(利用列表实现)

但行好事,莫问前程 3万+

D457深度相机调试记录(max96712+max9295A)

使用max96712解串器解4路D457相机。采集深度相机Depth和RGB流。

navy2015_163的博客 1267

从 OA 门户到 SAP 的单点登录全景解析

OA(Office Automation)门户往往已与企业身份证明源(Microsoft Entra ID、LDAP 等)集成。管理员希望:员工在 OA 登陆后访问 SAP Fiori Launchpad、OData API 或 RFC 接口时无需再次输入账号密码,而 SAP 仍能识别用户身份并执行基于角色的授权。此时 OA 可以直接充当 IdP,也可以把企业 IdP 发放的令牌转发给 SAP 充当 SP(service provider)。SAP Help Portal 将这类跨系统认证称为 single

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 999

Python计算斐波那契数列

文章目录1. 知识储备????2. 几种情形????2.1 求第n个斐波那契数(核心❤️)2.1.1 方法一:使用for循环2.1.2 方法二:使用递归2.2 求前n个斐波那契数2.3 求大于某个数num的最小斐波那契数 1. 知识储备???? 斐波那契数列(Fibonacci sequence),又称黄金分割数列。因意大利数学家Leonardo Fibonacci以兔子繁殖为例子而引入,故又称为“兔子数列” 指的是这样一个数列:1、1、2、3、5、8、13、21、34、…… 在数学上,斐波那契数列被以

林大夕可的博客 1万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Python入门经典题斐波那契数列

Python入门经典题斐波那契数列 斐波那契数列: 以下是前15项斐波那契数列: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 … 这个数列从第3项开始,每一项都等于前两项之和 如果设F(n)为该数列的第n项(n∈N*),那么这句...

王涛涛的博客 9155

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

python输出斐波那契数列_Python实现斐波那契数列

斐波那契数列大家都很熟悉吧,咱们在高中学数学的时候,老师会讲这个定律以及算法,其实数据结构和数学息息相关,数学思维好的往往逻辑思维就比较好,今天小猿圈带大家学习一下python的斐波那契数列的实现。程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,费波那契数列是以递归的方法来定义:F0 ...

weixin_39875842的博客 3070

python斐波那契数列计算_python计算斐波那契数列

斐波那契数列就是黄金分割数列第一项加第二项等于第三项,以此类推第二项加第三项等于第四项代码如下这一段代码实现fib(n)函数返回第n项,PrintFN(m,n,i)函数实现输出第i项斐波那契数列,输出在m到n之间的斐波那契数的数量def fib(n) :x = 0x1 = 1x2 = 1i = 2while i = m and fib(i) ...

weixin_39701834的博客 2710

用python实现斐波那契数列的5种简单方法_python实现斐波那契数列

斐波那契数列即著名的兔子数列:1、1、2、3、5、8、13、21、34、……1,1,2,3,5,8,13比如这样一个兔子的对列,第三个数是前两个数之和。让写一个方法,比如让你随机输入一个数字,把它前面的两个数打印出来def fib_num(n):a=0b=1lis=[]while b...

weixin_39946534的博客 6108

python输出斐波那契数列_详解python输出斐波那契数列

这篇文章详解python输出斐波那契数列def recur_fibo(n):"""递归函数输出斐波那契数列"""if n

weixin_39870155的博客 2119

用python输出斐波那契数列的前20项_python输出斐波那契数列

如何用Python输出一个Fibonacci数列有时候觉得自己像个神经病。既纠结了自己,又打扰了别人。#python3def fibo(n): if n受辱时的唯一办法就是忽视它,不能忽视它,就藐视它,如果能藐视它也不能,你就只有受辱了。用Python输出斐波那契数列的前20项,要用递归和非斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leo...

weixin_39581739的博客 1万+

python斐波那契数列列表_python_斐波那契数列

什么是斐波那契数列?-- 一组第从第三个值开始,每个值都等于前两个值之和的一种有意思的数列如[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]如何用程序进行实现?-- 逻辑整理初始值n_1 = 1, n_2 = 1n_3 = n_1 + n_2第三个值开始,每个值都是前两个值之和,假如n_1 = n_2 ,n_2 = n_3,实现了整体 n_1, n_2往后移动一个数,也就是说,...

weixin_39902598的博客 1185
上一篇: 解决递归中的重复计算问题
下一篇: python 青蛙跳台阶问题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一叶知秋的BLOG

创作不易 请多多关注

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值