一、斐波那契数列(Fibonacci sequence),又称黄金分割数列,这个数列最早是由印度数学家提出来的。
该序列的前几项是这样的:0,1,1,2,3,5,8,13,21,34,⋯
在数学上,斐波纳契数列以如下被以递归的方法定义:
F(0)=0
F(1)=1
F(n)=F(n−1)+F(n−2) ,(n≥2,n∈N)
Fibonacci 数列的通项公式:F(n)=F(n−1)+F(n−2)
二、递归思想
(一)定义:一个直接调用自己或者通过一系列的调用语句间接地调用自己的函数叫做递归函数。

package linear_list;/*** Recursion.* * @author 前夜**/
public class Recursion {/*********************** Sum to N.* * @param paraN The given paraN.* @return Return the sum.*********************/public static int sumToN(int paraN) {if (paraN < 0) {return 0;} // Of ifreturn sumToN(paraN - 1) + paraN;}// Of sumToN/*********************** Fibonacci sequence.* * @param paraN* @return*********************/public static int fibonacci(int paraN) {if (paraN < 0) {return 0;} // Of ifelse if (paraN == 1) {return 1;} // Of ifelsereturn fibonacci(paraN - 1) + fibonacci(paraN - 2);}// Of fibonacci/*********************** The entrance of the program.* * @param args*********************/public static void main(String args[]) {int tempValue = 5;System.out.println("The sum of 0 to " + tempValue + " is " + sumToN(tempValue));tempValue = -5;System.out.println("The sum of 0 to " + tempValue + " is " + sumToN(tempValue));for (int i = 0; i < 10; i++) {System.out.println("Fibonacci " + i + ": " + fibonacci(i));} // Of for i}// Of main
}// Of class Recursion

输出结果:

The sum of 0 to 5 is 15
The sum of 0 to -5 is 0
Fibonacci 0: 0
Fibonacci 1: 1
Fibonacci 2: 1
Fibonacci 3: 2
Fibonacci 4: 3
Fibonacci 5: 5
Fibonacci 6: 8
Fibonacci 7: 13
Fibonacci 8: 21
Fibonacci 9: 34

day16:递归思想——Fibonacci 斐波那契数列相关推荐

  1. 用php递归求fibonacci数列,C++_C语言求Fibonacci斐波那契数列通项问题的解法总结,一:递归实现使用 - phpStudy...

    C语言求Fibonacci斐波那契数列通项问题的解法总结 一:递归实现  使用公式f[n]=f[n-1]+f[n-2],依次递归计算,递归结束条件是f[1]=1,f[2]=1. 二:数组实现  空间复 ...

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

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

  3. 递归和循环:斐波那契数列

    题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0). n<=39 解题思路 递推公式f(n)=f(n)= 当n=0=0,当n=0 当 ...

  4. python 递归方式实现斐波那契数列

    python 递归方式实现斐波那契数列 import time t1=time.time() def factorial(n):if n==1 or n==2:return 1else:return ...

  5. C++fibonacci斐波那契数列,自下而上(附完整源码)

    C++fibonacci斐波那契数列,自下而上 fibonacci斐波那契数列,自下而上算法的完整源码(定义,实现,main函数测试) fibonacci斐波那契数列,自下而上算法的完整源码(定义,实 ...

  6. python装饰器模式带参数_Python进阶(七)----带参数的装饰器,多个装饰器修饰同一个函数和递归简单案例(斐波那契数列)...

    Python进阶(七)----带参数的装饰器,多个装饰器修饰同一个函数和递归简单案例(斐波那契数列) 一丶带参数的装饰器 def wrapper_out(pt): def wrapper(func): ...

  7. 【C语言编程】求Fibonacci(斐波那契)数列前40个数

    问题: 求Fibonacci(斐波那契)数列前40个数. 分析: 这个数列有如下特点:第1,2两个数为1,1.从第三个数开始,该数是其前面两个数之和.即该数列为1,1,2,3,5,8,13,- ,用数 ...

  8. 求Fibonacci(斐波那契)数列的的前n项

    1.Fibonacci(斐波那契)数列的定义规律:第一项a1=0,第二项a2=1,从第三项起,每一项都等于前面两项之和. 2.使用a1,a2,a3进行迭代 代码 #include using name ...

  9. C++ 求Fibonacci(斐波那契数列)前n项的和

    1.题目:求Fibonacci(斐波那契数列)前n项的和,n<=20 Fibonacci数: 1 1 2 3 5 8 13 21 34 - 思路:先求出前20项的数,分别存到数组中.需要时,直接 ...

最新文章

  1. 本地运行github上的vue2.0仿饿了么webapp项目
  2. [转]如果我有jQuery背景,我应该如何切换到AngularJS的思维模式?
  3. Fertility of Soils:根系C/P计量比影响水稻残根周际酶活的时空动态分布特征
  4. 今晚直播 | 来自《简明的 TensorFlow 2》作者,Google开发者专家的分享
  5. Grid平均分布自动换行
  6. 我在Suse 11 Sp3上使用anaconda安装TensorFlow的过程记录
  7. think in java interview-高级开发人员面试宝典(二)
  8. 1165: 零起点学算法72——首字母变大写
  9. C++Doubly Linked List双向链表(附完整源码)
  10. configure: error: Neither flex nor lex was found.
  11. 通讯录通过id找邮箱和手机
  12. opencv 直方图
  13. “AI+医疗”时代来临,我们还需要医生吗?
  14. 苹果电脑如何查看本机IP地址和DNS?
  15. python对txt文件处理_python 数据处理 对txt文件进行数据处理
  16. python将pdf转换图片
  17. Mars3D中 popup 弹窗问题汇总
  18. 完全掌握Python: 在一门课程中使用 Python 编程所需的一切 | Complete Python Mastery
  19. 大疆aeb连拍_不适合航拍?不如深度发掘大疆spark拍照功能
  20. 安卓手机屏幕分辨率如何修改

热门文章

  1. Python 网络编程学习笔记(二)——DNS 域名解析客户端程序设计
  2. 2.AIM: Deep Automatic Natural Image Matting
  3. 多彩二维码——引爆个性化二维码潮流
  4. 读研期间小论文投稿-个人总结
  5. 每周一磁 · 剩磁 Br
  6. gen9 ws460c 惠普_超越界限,定义未来-- HP刀片工作站WS460c Gen9无惧4K挑战
  7. 云计算生产实习第二天内容
  8. 关于本次生产认知实习的收获
  9. 手机充电补电经验分享
  10. 教你一小时做出推箱子游戏【附源码】