剑指Offer--斐波那契数列--java

题目描述:
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
n<=39

知识回顾:
斐波那契数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …
如果设F(n)为该数列的第n项(n∈N*),那么这句话可以写成如下形式::F(n)=F(n-1)+F(n-2)
这个数列从第3项开始,每一项都等于前两项之和。
显然这是一个线性递推数列。

解题思路:
如果输入前两项返回肯定是1,从第三项开始,可以设置三个变量a,b,c。c存放a,b的和,a存放b的值,b存放c的值。

代码如下:
public class Solution {
public int Fibonacci(int n) {
int a=0;
int b=1;
int c=0;
if(n ==0 || n ==1){
return n;
}else{
for(int i=2;i<=n;i++){
c=a+b;
a=b;
b=c;
}

}
return c;

}
}

运行结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43689040/article/details/87435025