一、斐波那契数列

斐波那契数列(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 ≥ 3,n ∈ N*)

定义

斐波那契数列指的是这样一个数列:
1,1,2,3,5,8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765,
10946, 17711, 28657, 46368 ……
这个数列从第3项开始,每一项都等于前两项之和。

二、算法

斐波那契数列的求法有递归求法和非递归求法,但通过以下对比可知,递归过程中产生很多了多余的计算,使得递归算法的时间复杂度很大,所以我们更常用非递归方法。

1.递归算法

代码

#include<stdio.h>
int fib(int n)
{if(n == 1 || n == 2)return 1;elsereturn fib(n-1) + fib(n-2);
}
int main()
{int n;// 请勿输入过大的数字导致卡死scanf("%d", &n);printf("%d\n", fib(n));return 0;
}

图示

2.非递归算法

代码

#include<stdio.h>
int main()
{int i, n, num[10];num[1] = 1;num[2] = 1;for(i = 3; i < 10; i++)num[i] = num[i - 1] + num[i - 2];scanf("%d", &n);printf("%d", num[n]);return 0;
}

图示

斐波那契数列_详解(C语言)相关推荐

  1. java遍历斐波纳契数列_详解循环、迭代、递归、分治(Leet Code 509 斐波那契数列),实际运用...

    Multiple solutions of Fibonacci (Python or Java) 本章是用英文写的,作为或想成为一名优秀的攻城狮,习惯阅读英文文档将使你受益良多.例如更好的查看最新版的 ...

  2. java斐波那契查找_详解Java Fibonacci Search斐波那契搜索算法代码实现

    一, 斐波那契搜索算法简述 斐波那契搜索(Fibonacci search) ,又称斐波那契查找,是区间中单峰函数的搜索技术. 斐波那契搜索采用分而治之的方法,其中我们按照斐波那契数列对元素进行不均等 ...

  3. 【斐波那契数列及螺线 基于C语言】

    斐波那契数列及螺线 基于C语言 斐波那契数列:fn = f(n-1)+f(n-2),(n>=3),f1=1,f2=1 用语言描述,就是任何一项都是前面两项的和,第一项是1,第二项是1,第三项开始 ...

  4. python中斐波那契数列_斐波那契数列–在Python,JavaScript,C ++,Java和Swift中进行了解释...

    python中斐波那契数列 by Pau Pavón 通过保罗·帕文(PauPavón) The Fibonacci sequence is, by definition, the integer s ...

  5. c语言斐波那契数列_剑指Offer-10-I.斐波那契数列

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

  6. c语言斐波那契数列_从数学角度浅谈斐波那契数列

    斐波那契数列历史由来已久,关于这个算法的方式也有很多,这篇讲一个由最复杂到最简单的转化. 该文主要从数学角度出发粗略谈谈. Fibonacci数列递推式为: 下面从数学角度思考这个问题,你应该还记得, ...

  7. python实现斐波那契数列_斐波那契数列:python实现和可视化

    1 说明 ==== 1.1 斐波那契数列的介绍. 1.2 斐波那契数列是上帝的指纹,大自然中随处可见,目前广泛应用到黄金分割线的布局美和股市等预测等等. 1.3 斐波那契数列的Python的matpl ...

  8. 循环斐波那契数列_剑指offer #10 斐波那契数列

    (递归和循环)#10 斐波那契数列 一.斐波那契数列 定义: n = 0 , f(n) = 0 n = 1 , f(n) = 1 n > 1 , f(n) = f(n-1) + f(n-2) 思 ...

  9. c语言斐波那契数列_斐波那契数列之美

    美妙绝伦的基本算法 Image by Gerd Altmann on Pixabay 在研究和进行有关数据处理,计算相关计算机或数学运算的研究时,我们遇到了很多算法. 即使有时候我们不太喜欢数学,但我 ...

  10. 用python语言编斐波那契数列_用python函数写斐波那契数列

    斐波那契数列,又称黄金分割数列.因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为"兔子数列",指的是这样一个数列:1.1.2.3.5.8.13.21.34.--在数学上, ...

最新文章

  1. 移动端网页乱象怎么破?搜狗搜索正在为行业建言
  2. 连接linux系统软件,Windows系统上有哪些不错的终端软件可以远程连接Linux?
  3. Python常见编译错更新
  4. visual studio 2017 和qt 编译 bitcon源代码
  5. python回复qq消息_自动给qq好友发消息
  6. 转载:socket通信基础
  7. python写前端代码_python学习之路前端-JavaScript
  8. 易商云页面认证失败是什么情况_Serverless 云原生框架 Malagu:认证与授权
  9. 《统计学习方法》—— 感知机原理、推导以及python3代码实现(一)
  10. 分享一个手游脚本源码
  11. viper4android哪个版本好,viper4android免root版下载
  12. 测试职业思考:如何成为一名优秀的软件测试工程师
  13. 中级java面试问题大全及答案大全
  14. 怎样用c语言实现CPU超频,cpu超频教程【操作流程】
  15. Win10 x64 安装Eplan P8 2.7 小结
  16. 如何说服老板页面兼容IE9+
  17. 腾讯云网站备案咨询解答:网站能否备案?
  18. Log4j2 zero day(CVE-2021-44228) 漏洞浅析
  19. Obsidian_常用三方插件
  20. Qt QLabel行、列间距控制

热门文章

  1. 最强大脑记忆曲线(4)——关于项目中的全局变量
  2. c语言ab43错误的是,求助,AB+没法玩下去了,详情请看报错代码
  3. 习题4-1 Xiangqi UVA - 1589
  4. 湿敏电阻HR202L使用记录
  5. summernote 工具栏相关
  6. 蓝牙 - HCI介绍
  7. 我爱淘二次冲刺阶段5
  8. arm gdb 编译与安装
  9. it行业se是_计算机行业SSE、SE、BSE、PE、PL各自是什么职位意思?
  10. Java爬取糗百段子