斐波那契数列的四种实现方式(C语言)
斐波那契数列是一组第一位和第二位为1,从第三位开始,后一位是前两位和的一组递增数列,
像这样的:1、1、2、3、5、8、13、21、34、55......
今天,我们用四种方式来进行实现:
1.递归
int Fibon1(int n)
{if (n == 1 || n == 2){return 1;}else{return Fibon1(n - 1) + Fibon1(n - 2);}
}
int main()
{int n = 0;int ret = 0;scanf("%d", &n);ret = Fibon1(n);printf("ret=%d", ret);return 0;
}
2.非递归
int Fibno2(int n)
{int num1 = 1;int num2 = 1;int tmp = 0;int i = 0;if (n < 3){return 1;}else{for (i = 0; i>n-3; i++){tmp = num1 + num2;num1 = num2;num2 = tmp;}return tmp;}
}
3.数组
public int Fibno3(int n)
{List<int> list = new List<int>();list.fib(1);list.fib(1);int count = list.Count;while (count < n){list.fib(list[count - 2] + list[count - 1]);count = list.Count;}return list[count - 1];}
4.队列
public int Fibno4(int n)
{Queue<int> queue = new Queue<int>();queue.Enqueue(1);queue.Enqueue(1);for (int i = 0; i <= n - 2; i++){queue.Enqueue(queue.AsQueryable().First() + queue.AsQueryable().Last());queue.Dequeue();}return queue.Peek();
}
运行结果:
斐波那契数列的四种实现方式(C语言)相关推荐
- Python中斐波那契数列的四种写法
在这些时候,我可以附和着笑,项目经理是决不责备的.而且项目经理见了孔乙己,也每每这样问他,引人发笑.孔乙己自己知道不能和他们谈天,便只好向新人说话.有一回对我说道,"你学过数据结构吗?&qu ...
- 斐波那契数列的四种实现
来自:Crossin的编程教室 孔乙己自己知道不能和他们谈天,便只好向 Intern 说话.有一回对我说道,"你写过代码么?"我略略点一点头.他说,"写过代码,--我便考 ...
- 剑指Offer #07 斐波那契数列(四种解法)| 图文详解
题目来源:牛客网-剑指Offer专题 题目地址:斐波那契数列 题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0).n<=39 题目解析 ...
- C语言实现求解斐波那契数列的四种方法及优化处理(递归,迭代,特殊性质公式,矩阵快速幂)
众所周知,斐波那契数列是非常经典的一个数列,它的数学公式如下 为了便于观察,我们列出它的几项:0 1 1 2 3 5 8 13 21...... 下面我们将介绍四种方法来用C语言计算机 ...
- 斐波那契数列的两种解题方式
第一种方式:采用递归 def Fibonacci (n):if n==1 or n==2 : return 1else :return Fibonacci(n-2)+Fibonacci(n-1) ...
- “斐波那契数列”的两种算法
"斐波那契数列"的两种算法 斐波那契数列有个规律:从第三个数开始,每个数是前两个数之和,比如: 1 1 2 3 5 8 13 21 34 55...... 现在通过两种方式(递归与 ...
- 剑指offer——面试题9:求斐波那切数列的四种方法
剑指offer--面试题9:求斐波那切数列的四种方法 另一个相关的链接:https://blog.csdn.net/Allenlzcoder/article/details/80297333 总结下求 ...
- 斐波拉契数列 Java三种实现
对于很多Java初学者来说,求解斐波拉契数列,基本上所使用的方式都是递归.对于求解斐波拉契数列来说,递归的实现方式的效率是极其低下的. 在此,我贴出三种实现(递归,迭代,动态规划): 我们先看代码的执 ...
- 斐波那契数列,递归与非递归c语言实现
问题描述:求解斐波那契数列,分别采用递归方式与非递归方式 =2" class="mathcode" src="https://private.codecogs ...
最新文章
- 深度学习目标检测指南:如何过滤不感兴趣的分类及添加新分类?
- AAAI 2021最佳论文《Informer》作者:Transformer 最新进展
- QMutex pointer is misaligned的问题
- 图像形态学操作—腐蚀膨胀深入
- Python处理小学体育中的跑步计时数据并统计得分
- 高效解析xml的总结,闲下来写的
- Leetcode--424. 替换后的最长重复字符
- arcgis批量处理nc文件_法律行业python教程——利用python批量处理文件之批量重命名...
- Qt QString 与char* 相互转换
- .NET Framework也可以开发托管了
- 使用SQL编程创建100万条数据测试索引
- Returning array from function in C
- JVM内存:年轻代,老年代,永久代
- Odoo14免费开源ERP实施手册:销售功能高级应用
- linux安装pyodbc模块,Linux下安装pyodbc报错 error: command 'gcc' failed with exit status 1
- KEL安装和初步研究
- 工作中如果一直被领导忽略,你会怎么办?
- 解读滴滴招股书:提供“移动“价值的全球共享经济企业潜力几何?
- 般若波罗蜜多心经-梵文(收藏)
- 认识 BASH Shell