斐波那契数列简单步骤分析

有些同学总觉得斐波那契数列很困难,其实只要把函数搞明白就一点就不困难了。
首先,来看看一段代码:

#斐波那契
n = eval(input("请输入一个数:"))
def fib(n):if n ==1 or n ==2 :return 1elif n==0:return 0else:f=fib(n-1)+fib(n-2)return f
print (fib(n))

那么,何为斐波那契数列?
度娘说:

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*)

首先,我们先定义一个函数 def fib(n),这里的‘n’是我们在外界输入的一个数。
def fib(n)内部,我们已经知道fib(0)=0,fib(1)=fin(2)=1,所以当我们输入这三个数字时,直接返回它们对应的值,即有如下代码:

    if n ==1 or n ==2 :return 1elif n==0:return 0

接着,因为斐波那契数列是 从第3项开始,每一项都等于前两项之和,那么我们可以写下如下代码:

    else:f=fib(n-1)+fib(n-2)#前一项和前前一项的和return f

最后把这个数对应的斐波那契数输出即可

print (fib(n))

斐波那契数列简单步骤分析相关推荐

  1. 求解斐波那契数列复杂度分析

    前言:斐波那契作为一个算法基础知识,大家一定要掌握,祝大家学得开心~ 什么是斐波那契数列(Fibonacci sequence)? 斐波那契数列(Fibonacci sequence),又称黄金分割数 ...

  2. java兔子繁殖总数_【Java基础编程练习】01:兔子繁殖问题(斐波那契数列)的分析及实现...

    01:兔子繁殖问题 Java练习,第一道就是这道题,早有耳闻,看好多答案就是直接摆上来一个斐波那契数列就完了〒▽〒,于是自己就写了一个思考过程,仅供自己将来复习吧~ 一.问题概述 题目:古典问题:有一 ...

  3. 斐波那契数列简单算法

    谈到斐波那契数列,可能是算法中经典的算法之一了.让我们先来看看斐波那契数列的由来: Fibonacci's original question: 1.Suppose that you are give ...

  4. 斐波那契数列的量化分析

    1. 递归版的调用次数 cnt = 0 def fib(n):cnt += 1return n if n <= 1 else fib(n-1) + fib(n-2) 递归版的实现,共会调用多少次 ...

  5. 递归算法——阶乘、斐波那契数列

    文章目录 前言 一.什么是递归算法? 二.递归算法特点 三.递归算法的使用要求 四.应用示例--阶乘 1.阶乘概述 2.思路分析 3.代码实现 五.应用示例--斐波那契数列 1.思路分析 2.代码实现 ...

  6. 用数学公式算法求解斐波那契数列

    目录 用数学公式算法求解斐波那契数列 程序设计 程序分析 用数学公式算法求解斐波那契数列 [问题描述]给定n,n小于90,打印出前n+1个斐波那契数.从第0个开始,即F(0)=0

  7. 斐波那契数列的实现(简单递归和动态规划)

    斐波那契数列的实现(简单递归和动态规划) 一.简单递归的实现 1 #include "stdafx.h" 2 #include <string> 3 using nam ...

  8. 斐波那契数列 · C++ · 简单

    题目描述 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项.斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2) ...

  9. 斐波那契数列递归算法和非递归算法以及其时间复杂度分析

    1.在学习数据结构这门课的过程中,发现斐波那契数列的递归算法以及非递归算法,以及其时间复杂度分析是一个小难点.所以特别总结一下. 斐波那契数列的表达式: Fibonacci数列简介: F(1)=1 F ...

最新文章

  1. 使用WinDbg内核调试
  2. intel python加速效果初探
  3. .Net 中HashTable,HashMap 和 Dictionarykey,value 和ListT和DataTable的比较
  4. 阿里大数据分析与应用(part4)--一站式大数据平台DataWorks
  5. 160-PHP 文本替换函数str_replace(一)
  6. 前端学习(715):数组新增元素
  7. [原创]部门年会活动流程
  8. springmvc-实现增删改查
  9. 马斯克:挑战纽北赛道的Model S配有7个座椅
  10. java导入工程tomcat_Tomcat源码分析【一】版本选择与工程导入
  11. (JAVA版)冒泡排序
  12. ctags linux,ctags --- 每天一个 Linux 命令
  13. Win32gui 无效窗口句柄
  14. 批量修改后缀名和添加后缀名
  15. word中生成带方块的对勾
  16. 2018华为软件精英挑战赛经验(一)
  17. 锂电池电量百分比计算_锂离子电池容量计算之电压法
  18. Python IO编程详解
  19. 12.5--卡片式布局
  20. can‘t find part type item<$OSR_SYMS>

热门文章

  1. iar软件中C语言跳出for循环,关于 IAR一些C语言扩展
  2. PyQt窗口FramelessWindowHint模式下自定义窗口缩放与移动功能(by 浅若清风cyf)
  3. opencv案例: 车辆检测
  4. 定制Github日历库EPCalendarPicker实现项目需求(三)
  5. 推荐系统评价指标及代码实现
  6. 仿支付宝经营分析--周日历选择
  7. yuv 和jpg互相转
  8. HTTP请求和响应格式介绍
  9. 元宇宙地产:概念、价值与未来
  10. 记录总结-如何逮捕实验室的老鼠