斐波那契数列_详解(C语言)
一、斐波那契数列
斐波那契数列(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语言)相关推荐
- java遍历斐波纳契数列_详解循环、迭代、递归、分治(Leet Code 509 斐波那契数列),实际运用...
Multiple solutions of Fibonacci (Python or Java) 本章是用英文写的,作为或想成为一名优秀的攻城狮,习惯阅读英文文档将使你受益良多.例如更好的查看最新版的 ...
- java斐波那契查找_详解Java Fibonacci Search斐波那契搜索算法代码实现
一, 斐波那契搜索算法简述 斐波那契搜索(Fibonacci search) ,又称斐波那契查找,是区间中单峰函数的搜索技术. 斐波那契搜索采用分而治之的方法,其中我们按照斐波那契数列对元素进行不均等 ...
- 【斐波那契数列及螺线 基于C语言】
斐波那契数列及螺线 基于C语言 斐波那契数列:fn = f(n-1)+f(n-2),(n>=3),f1=1,f2=1 用语言描述,就是任何一项都是前面两项的和,第一项是1,第二项是1,第三项开始 ...
- python中斐波那契数列_斐波那契数列–在Python,JavaScript,C ++,Java和Swift中进行了解释...
python中斐波那契数列 by Pau Pavón 通过保罗·帕文(PauPavón) The Fibonacci sequence is, by definition, the integer s ...
- c语言斐波那契数列_剑指Offer-10-I.斐波那契数列
题目 题目描述 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项.斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - ...
- c语言斐波那契数列_从数学角度浅谈斐波那契数列
斐波那契数列历史由来已久,关于这个算法的方式也有很多,这篇讲一个由最复杂到最简单的转化. 该文主要从数学角度出发粗略谈谈. Fibonacci数列递推式为: 下面从数学角度思考这个问题,你应该还记得, ...
- python实现斐波那契数列_斐波那契数列:python实现和可视化
1 说明 ==== 1.1 斐波那契数列的介绍. 1.2 斐波那契数列是上帝的指纹,大自然中随处可见,目前广泛应用到黄金分割线的布局美和股市等预测等等. 1.3 斐波那契数列的Python的matpl ...
- 循环斐波那契数列_剑指offer #10 斐波那契数列
(递归和循环)#10 斐波那契数列 一.斐波那契数列 定义: n = 0 , f(n) = 0 n = 1 , f(n) = 1 n > 1 , f(n) = f(n-1) + f(n-2) 思 ...
- c语言斐波那契数列_斐波那契数列之美
美妙绝伦的基本算法 Image by Gerd Altmann on Pixabay 在研究和进行有关数据处理,计算相关计算机或数学运算的研究时,我们遇到了很多算法. 即使有时候我们不太喜欢数学,但我 ...
- 用python语言编斐波那契数列_用python函数写斐波那契数列
斐波那契数列,又称黄金分割数列.因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为"兔子数列",指的是这样一个数列:1.1.2.3.5.8.13.21.34.--在数学上, ...
最新文章
- 移动端网页乱象怎么破?搜狗搜索正在为行业建言
- 连接linux系统软件,Windows系统上有哪些不错的终端软件可以远程连接Linux?
- Python常见编译错更新
- visual studio 2017 和qt 编译 bitcon源代码
- python回复qq消息_自动给qq好友发消息
- 转载:socket通信基础
- python写前端代码_python学习之路前端-JavaScript
- 易商云页面认证失败是什么情况_Serverless 云原生框架 Malagu:认证与授权
- 《统计学习方法》—— 感知机原理、推导以及python3代码实现(一)
- 分享一个手游脚本源码
- viper4android哪个版本好,viper4android免root版下载
- 测试职业思考:如何成为一名优秀的软件测试工程师
- 中级java面试问题大全及答案大全
- 怎样用c语言实现CPU超频,cpu超频教程【操作流程】
- Win10 x64 安装Eplan P8 2.7 小结
- 如何说服老板页面兼容IE9+
- 腾讯云网站备案咨询解答:网站能否备案?
- Log4j2 zero day(CVE-2021-44228) 漏洞浅析
- Obsidian_常用三方插件
- Qt QLabel行、列间距控制