斐波那契数列是一组第一位和第二位为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语言)相关推荐

  1. Python中斐波那契数列的四种写法

    在这些时候,我可以附和着笑,项目经理是决不责备的.而且项目经理见了孔乙己,也每每这样问他,引人发笑.孔乙己自己知道不能和他们谈天,便只好向新人说话.有一回对我说道,"你学过数据结构吗?&qu ...

  2. 斐波那契数列的四种实现

    来自:Crossin的编程教室 孔乙己自己知道不能和他们谈天,便只好向 Intern 说话.有一回对我说道,"你写过代码么?"我略略点一点头.他说,"写过代码,--我便考 ...

  3. 剑指Offer #07 斐波那契数列(四种解法)| 图文详解

    题目来源:牛客网-剑指Offer专题 题目地址:斐波那契数列 题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0).n<=39 题目解析 ...

  4. C语言实现求解斐波那契数列的四种方法及优化处理(递归,迭代,特殊性质公式,矩阵快速幂)

    众所周知,斐波那契数列是非常经典的一个数列,它的数学公式如下 为了便于观察,我们列出它的几项:0  1  1  2  3  5  8  13  21...... 下面我们将介绍四种方法来用C语言计算机 ...

  5. 斐波那契数列的两种解题方式

    第一种方式:采用递归 ​ def Fibonacci (n):if n==1 or n==2 : return 1else :return Fibonacci(n-2)+Fibonacci(n-1) ...

  6. “斐波那契数列”的两种算法

    "斐波那契数列"的两种算法 斐波那契数列有个规律:从第三个数开始,每个数是前两个数之和,比如: 1 1 2 3 5 8 13 21 34 55...... 现在通过两种方式(递归与 ...

  7. 剑指offer——面试题9:求斐波那切数列的四种方法

    剑指offer--面试题9:求斐波那切数列的四种方法 另一个相关的链接:https://blog.csdn.net/Allenlzcoder/article/details/80297333 总结下求 ...

  8. 斐波拉契数列 Java三种实现

    对于很多Java初学者来说,求解斐波拉契数列,基本上所使用的方式都是递归.对于求解斐波拉契数列来说,递归的实现方式的效率是极其低下的. 在此,我贴出三种实现(递归,迭代,动态规划): 我们先看代码的执 ...

  9. 斐波那契数列,递归与非递归c语言实现

    问题描述:求解斐波那契数列,分别采用递归方式与非递归方式  =2" class="mathcode" src="https://private.codecogs ...

最新文章

  1. 深度学习目标检测指南:如何过滤不感兴趣的分类及添加新分类?
  2. AAAI 2021最佳论文《Informer》作者:Transformer 最新进展
  3. QMutex pointer is misaligned的问题
  4. 图像形态学操作—腐蚀膨胀深入
  5. Python处理小学体育中的跑步计时数据并统计得分
  6. 高效解析xml的总结,闲下来写的
  7. Leetcode--424. 替换后的最长重复字符
  8. arcgis批量处理nc文件_法律行业python教程——利用python批量处理文件之批量重命名...
  9. Qt QString 与char* 相互转换
  10. .NET Framework也可以开发托管了
  11. 使用SQL编程创建100万条数据测试索引
  12. Returning array from function in C
  13. JVM内存:年轻代,老年代,永久代
  14. Odoo14免费开源ERP实施手册:销售功能高级应用
  15. linux安装pyodbc模块,Linux下安装pyodbc报错 error: command 'gcc' failed with exit status 1
  16. KEL安装和初步研究
  17. 工作中如果一直被领导忽略,你会怎么办?
  18. 解读滴滴招股书:提供“移动“价值的全球共享经济企业潜力几何?
  19. 般若波罗蜜多心经-梵文(收藏)
  20. 认识 BASH Shell

热门文章

  1. html图片后边自动底部对齐,css实现图片与文字底边对齐
  2. 第七章 本源时空
  3. Python的Scrapy框架入门教程
  4. 毕业设计 - 题目:基于机器视觉的图像矫正 (以车牌识别为例) - 图像畸变校正
  5. 【Alpha】Scrum Meeting 5
  6. 攀登规模化的高峰 - 蚂蚁集团大规模 Sigma 集群 ApiServer 优化实践
  7. 【DSA_Fall2020】2. Trees (Templates in C)
  8. springfox集成教程
  9. 我的 Chrome 插件集
  10. 计算机专业大学期间有必要参加很多竞赛吗?