斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34...

---百度百科

1 >>>数组        很好理解。

求第a位的数是多少?

第a位在循环中的下标是a-1。所以返回list[a-1];

public static int Fbnq(int a){int[] list = new int[a];list[0] = 1;list[1] = 1;for (var i = 2; i < a; i++){list[i] = list[i - 1] + list[i - 2];}return list[a - 1];}

2 >>>递归         很简洁,难理解,耗性能。

求第a位的数是多少?

递归有终点。本例终点就是a<=2的时候返回值是1。

讲解:例如传入的a是30,求第30位是多少?

30进入函数执行:后边的语句。执行时 她发现需要Fbn1(29)+Fbn1(28),又发现29需要27+28,28需要27+26...... 直到到Fbn1(0)+Fbn1(1)【a<=2时】。函数有了值1

然后一路加回去,便求出Fbnq(30).

public static int Fbnq1(int a){return a <= 2 ? 1 : Fbnq1(a - 1) + Fbnq1(a - 2);}

学习阶段,有错误还望指出,谢谢!

转载于:https://www.cnblogs.com/zx3180/p/9482863.html

斐波那契数列 (C#)相关推荐

  1. java 斐波拉_Java实现斐波那契数列

    斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1.1.2.3.5.8.13.21.--在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n&g ...

  2. 剑指offer:面试题10- I. 斐波那契数列

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

  3. 用递归法计算斐波那契数列的第n项

     斐波纳契数列(Fibonacci Sequence)又称黄金分割数列,指的是这样一个数列:1.1.2.3.5.8.13.21.--在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1, ...

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

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

  5. 用C语言编写:判断一个≥2的整型数是否存在于斐波那契数列中?

    自己写的,感觉挺有成就感的,就展示出来吧! 判断一个≥2的整型数是否存在于斐波那契数列中? 若存在,则返回第几项:若不在,则返回-1 #include <stdio.h> long gen ...

  6. 算法(1)斐波那契数列

    1.0 问题描述 实现斐波那契数列,求第N项的值 2.0 问题分析 斐波那契数列最简单的方法是使用递归,递归和查表法同时使用,可以降低复杂度. 根据数列特点,同时进行计算的数值其实只有3个,所以可以使 ...

  7. NOIP模拟题 斐波那契数列

    题目大意 给定长度为$n$序列$A$,将它划分成尽可能少的若干部分,使得任意部分内两两之和均不为斐波那契数列中的某一项. 题解 不难发现$2\times 10^9$之内的斐波那契数不超过$50$个 先 ...

  8. 剑指offer_第7题_斐波那契数列

    题目描述 现在要求输入一个整数n 输出斐波那契数列的第n项(从0开始,第0项为0). n<=39 理解 斐波那契数列 因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子 ...

  9. 面试官问你斐波那契数列的时候不要高兴得太早

    增加内容 递归改进版 矩阵快速幂解法 通项表达式解法 列表法 斐波那契数列应用 前言 假如面试官让你编写求斐波那契数列的代码时,是不是心中暗喜?不就是递归么,早就会了.如果真这么想,那就危险了. 递归 ...

  10. 斐波那契数列性质【记住】

    斐波那契数列 斐波那契数列递推 F(1)=1,F(0)=0F(1)=1,F(0)=0F(1)=1,F(0)=0 F(n)=F(n−1)+F(n−2)F(n)=F(n-1)+F(n-2)F(n)=F(n ...

最新文章

  1. Android Json 解析
  2. 《零基础看得懂的C++入门教程 》——(4)条件判断原来如此
  3. P2770 航空路线问题(网络流)
  4. SpringBoot—项目启动时几种初始化操作及SpringApplication类详解
  5. spin lock自旋锁
  6. k-means算法实现python
  7. OpenShift 4 - DevSecOps Workshop (9) - 向Dev环境部署应用镜像
  8. MyBatis学习笔记(一) 概述
  9. java manager 模式_java设计模式之装饰器模式(Decorator)
  10. Java在线反编译工具
  11. 2020下半年6级高频词汇整理
  12. EditPlus常用技巧
  13. web期末网站设计大作业:动漫网站设计——龙猫(10页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 动漫漫画网页设计...
  14. 数博会金蝶揭秘智能零售:名企转型底气
  15. urlrewriter 用法
  16. OSChina 周三乱弹 ——程序员下班后总是不关电脑原因竟然是这样
  17. oracle组合数据类型,oracle复合数据类型-ZT
  18. simcomm卖给新博通
  19. 头条号nx配置文件mysql_后端开辟必备的MySQL日记文件知识点
  20. Axure:实现写评论功能

热门文章

  1. laravel5.6 使用指定字段作为key_MyRocks TTL使用姿势及Bugfix
  2. mysql 视图 过程 函数_MySQL视图,函数,触发器,存储过程
  3. matlab+信号+mpf,Python和Matlab中平均频率的差异
  4. x86_64 arm制linux-gcc,arm-linux-gcc 制作
  5. jmeter mysql查询结果提取_Jmeter-从数据库中获取数据并作为变量使用
  6. php symfony 安装,Symfony4中文文档: 安装和设置Symfony框架
  7. mysql运维机制_《MySQL运维内参》节选 | InnoDB日志管理机制(一)
  8. mysql加锁后怎么解除_Mysql查看死锁与解除死锁的深入讲解
  9. getwayworker timer_Java定时器之Timer学习二
  10. JAVA 从菜鸟成长为大牛的必经之路