10_1、斐波那契数列

≯℡__Kan透↙ 提交于 2020-02-07 07:37:19

斐波那契数列

题目描述

写一个函数,输入n,求斐波那契数列的第n项。斐波那契数列的定义如下:
在这里插入图片描述

思路分析

解法一:根据斐波那契数列的定义方程式写出最直观的递归。效率较低,存在很多重复计算。代码如下:

public int Fibonacci(int n) {
	if(n==0)return 0;
    if(n==1)return 1;
    return Fibonacci(n-1)+Fibonacci(n-2);
}

解法二:为解决解法一的重复计算,可以把已经计算出来的数列中间项保存起来,用于下一次计算。代码如下:

public int Fibonacci(int n) {
	if(n==0)return 0;
    if(n==1)return 1;
    int first=0,second=1,FibN=0;
    for(int i=2;i<=n;i++){
    	FibN=first+second;
    	first=second;
    	second=FibN;
    }
    return FibN;
}



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!