斐波那契数列 (C#)
斐波那契数列(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#)相关推荐
- java 斐波拉_Java实现斐波那契数列
斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1.1.2.3.5.8.13.21.--在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n&g ...
- 剑指offer:面试题10- I. 斐波那契数列
写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项.斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 ...
- 用递归法计算斐波那契数列的第n项
斐波纳契数列(Fibonacci Sequence)又称黄金分割数列,指的是这样一个数列:1.1.2.3.5.8.13.21.--在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1, ...
- 循环斐波那契数列_剑指offer #10 斐波那契数列
(递归和循环)#10 斐波那契数列 一.斐波那契数列 定义: n = 0 , f(n) = 0 n = 1 , f(n) = 1 n > 1 , f(n) = f(n-1) + f(n-2) 思 ...
- 用C语言编写:判断一个≥2的整型数是否存在于斐波那契数列中?
自己写的,感觉挺有成就感的,就展示出来吧! 判断一个≥2的整型数是否存在于斐波那契数列中? 若存在,则返回第几项:若不在,则返回-1 #include <stdio.h> long gen ...
- 算法(1)斐波那契数列
1.0 问题描述 实现斐波那契数列,求第N项的值 2.0 问题分析 斐波那契数列最简单的方法是使用递归,递归和查表法同时使用,可以降低复杂度. 根据数列特点,同时进行计算的数值其实只有3个,所以可以使 ...
- NOIP模拟题 斐波那契数列
题目大意 给定长度为$n$序列$A$,将它划分成尽可能少的若干部分,使得任意部分内两两之和均不为斐波那契数列中的某一项. 题解 不难发现$2\times 10^9$之内的斐波那契数不超过$50$个 先 ...
- 剑指offer_第7题_斐波那契数列
题目描述 现在要求输入一个整数n 输出斐波那契数列的第n项(从0开始,第0项为0). n<=39 理解 斐波那契数列 因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子 ...
- 面试官问你斐波那契数列的时候不要高兴得太早
增加内容 递归改进版 矩阵快速幂解法 通项表达式解法 列表法 斐波那契数列应用 前言 假如面试官让你编写求斐波那契数列的代码时,是不是心中暗喜?不就是递归么,早就会了.如果真这么想,那就危险了. 递归 ...
- 斐波那契数列性质【记住】
斐波那契数列 斐波那契数列递推 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 ...
最新文章
- Android Json 解析
- 《零基础看得懂的C++入门教程 》——(4)条件判断原来如此
- P2770 航空路线问题(网络流)
- SpringBoot—项目启动时几种初始化操作及SpringApplication类详解
- spin lock自旋锁
- k-means算法实现python
- OpenShift 4 - DevSecOps Workshop (9) - 向Dev环境部署应用镜像
- MyBatis学习笔记(一) 概述
- java manager 模式_java设计模式之装饰器模式(Decorator)
- Java在线反编译工具
- 2020下半年6级高频词汇整理
- EditPlus常用技巧
- web期末网站设计大作业:动漫网站设计——龙猫(10页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 动漫漫画网页设计...
- 数博会金蝶揭秘智能零售:名企转型底气
- urlrewriter 用法
- OSChina 周三乱弹 ——程序员下班后总是不关电脑原因竟然是这样
- oracle组合数据类型,oracle复合数据类型-ZT
- simcomm卖给新博通
- 头条号nx配置文件mysql_后端开辟必备的MySQL日记文件知识点
- Axure:实现写评论功能
热门文章
- laravel5.6 使用指定字段作为key_MyRocks TTL使用姿势及Bugfix
- mysql 视图 过程 函数_MySQL视图,函数,触发器,存储过程
- matlab+信号+mpf,Python和Matlab中平均频率的差异
- x86_64 arm制linux-gcc,arm-linux-gcc 制作
- jmeter mysql查询结果提取_Jmeter-从数据库中获取数据并作为变量使用
- php symfony 安装,Symfony4中文文档: 安装和设置Symfony框架
- mysql运维机制_《MySQL运维内参》节选 | InnoDB日志管理机制(一)
- mysql加锁后怎么解除_Mysql查看死锁与解除死锁的深入讲解
- getwayworker timer_Java定时器之Timer学习二
- JAVA 从菜鸟成长为大牛的必经之路