题目描述

斐波那契数列的排列是:1,1,2,3,5,8,13,21,34,55,89,144。在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)。分别用递归和非递归的方式,计算第n个斐波那契数。

实现代码

1、递归方法

def Fib(n):if n==1 or n==2:return 1else:return Fib(n-1)+Fib(n-2)
def main():a=eval(input("请输入n:"))print("第{}个斐波那契数是{}".format(a,Fib(a)))
main()

2、非递归方法

def Fbnq(n):s=[0,1]if n==1:return s[n]for n in range(2,n+1):s.append(s[n-1]+s[n-2])return s[n]
def main():num=eval(input("要求第几个斐波拉契数:"))print("第{}个斐波拉契数为{}".format(num,Fbnq(num)))
main()

运行演示


用递归和非递归实现斐波那契数列相关推荐

  1. php猴子吃桃子问题n天,『PHP学习笔记』系列四:利用函数递归调用思想解决【斐波那契数列】问题和【猴子吃桃问题】问题...

    什么是函数递归思想? 递归思想:把一个相对复杂的问题,转化为一个与原问题相似的,且规模较小的问题来求解. 递归方法只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量. 但在 ...

  2. 【恋上数据结构】递归(函数调用过程、斐波那契数列、上楼梯、汉诺塔、递归转非递归、尾调用)

    递归(Recursion) 什么是递归? 函数的调用过程(栈空间) 函数的递归调用过程 递归实例分析(1 + 2 + 3 + ... + 100 的和) 递归的基本思想.使用套路 斐波那契数列 fib ...

  3. C语言递归/非递归方法实现斐波那契数列

    众所周知,斐波那契数列就是后一项为前两项之和组成的数列,其第一二项均为1,指的是这样一个数列:1.1.2.3.5.8.13.21.34.--在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0 ...

  4. python斐波那契前20递归_算法python实现经典递归问题(汉诺塔, 斐波那契数列,阶乘)...

    经典递归 汉诺塔问题 背景故事 传说印度某间寺院有三根柱子,上串64个金盘.寺院里的僧侣依照一个古老的预言,以上述规则移动这些盘子:预言说当这些盘子移动完毕,世界就会灭亡.这个传说叫做梵天寺之塔问题( ...

  5. 递归与递推 输出斐波拉契数列的前n项 python

    输出斐波拉契数列的前n项 python 递归与递推 文章目录 输出斐波拉契数列的前n项 python 题设 题解 题设 以下数列 0 1 1 2 3 5 8 13 21 - 被称为斐波纳契数列. 这个 ...

  6. 古老递归问题(兔子版本斐波那契数列)

    题目: 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 首先,我目前还是菜鸟,若解答有问题,直接评论戳我吧! 这是 ...

  7. 递归、递推法斐波那契数列

    编写2个函数,分别采用递归和递推方法计算斐波那契数列的前n项,函数返回列表,该列表中存放斐波那契数列,并写出程序调用这2个函数,输出斐波那契数列. #递归方法 def fib1 (n): if n & ...

  8. 【算法】【递归与动态规划模块】斐波那契数列的系列问题解法及递推类型问题的最优解

    目录 前言 问题介绍 解决方案 代码编写 java语言版本 c语言版本 c++语言版本 思考感悟 写在最后 前言 当前所有算法都使用测试用例运行过,但是不保证100%的测试用例,如果存在问题务必联系批 ...

  9. 斐波纳契数列。递归和非递归分别实现求第n个斐波那契数。(从第3项开始每1项的值为前两项的和)

    1:非递归方式实现斐波那契数列. 因为斐波那契数列条件,所以我设计了这个算法,将后一项的值赋给前一项,,再不断累加. 最后跳出循环. 接下来我重点介绍递归的方法: 递归:通俗来说就是函数自己调用自己, ...

  10. 斐波那契尾递归函数java_斐波那契数列 递归 尾递归 递推 C++实现

    ==================================声明================================== 本文原创,转载请注明作者和出处,并保证文章的完整性(包括本 ...

最新文章

  1. 2018新年快乐 !(附幸运读者名单)
  2. 使用Windows远程桌面(mstsc)通过RDP协议访问Ubuntu/Debian服务器
  3. linux shell 字符串 转 数组 列表 分隔符 字符串 转 数组
  4. 高性能网络编程1----accept建立连接
  5. stm32f103 spi crc
  6. Linux/Unix系统编程手册 第三章:系统编程概念
  7. CCF认证历年试题解【网上跟帖,请不要使用称呼】
  8. 我的Go语言学习之旅一:WIN下Go的安装
  9. 关于COMMIT WORK and COMMIT WORK AND WAIT在SAT中的讨论
  10. 北师大名教授通过趣味数学与幽默教你学数学思维
  11. 部署Java web项目到阿里云服务器
  12. 语言中根号打法_知识的诅咒,数学老师在教学中不得不防的陷阱
  13. MySQL 这三道必问面试题,你都会吗?
  14. oracle 空间详解,Oracle Spatial空间分析详解 | 学步园
  15. wireshark(2)- ethernet工具 xcap wireshark tcpdump
  16. 计算机专业的梦想作文,我的梦想作文300字(通用15篇)
  17. 谈谈我在创业公司的感悟
  18. 【pandas】变形(长宽表变换)
  19. [前端框架]-VUE(下篇)
  20. SQLITE3插入、查询效率的优化方法

热门文章

  1. Java注解的作用?
  2. 星三角正反接线实物图_实物讲解星三角降压启动接线图
  3. 理解 Generator 的执行
  4. 安装go client调用Kubernetes API
  5. leetcode- 225 Implement Stack using Queues
  6. js,css压缩工具
  7. dolphin.php 视频,DolphinPHP V1.0.4发布
  8. 在变量前面加个叹号什么意思_a little表示很少,quite a little什么意思?形容数量多少的用法...
  9. GPU/GPGPU架构(三十二)
  10. LXC基本架构及用法(六)