斐波那契数列
题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
n<=39
题目解析
首先我们需要知道斐波那契数列的表达式:f(n)=f(n-1)+f(n);斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368…
这个数列从第3项开始,每一项都等于前两项之和。所以我们如果需要找到第n个位置的数我们就需要找到n-1,n-2 位置对应的数,所以我们可以用循环的方式去得到第n位数
代码
public class Solution {
public int Fibonacci(int n) {
if(n == 0){
return 0;
}
if(n == 1){
return 1;
}
//这个数列从第3项开始,每一项都等于前两项之和。
int f1 = 0;
int f2 = 1;
int fn = 1;
for(int i = 2; i <= n; ++i){
fn = f1+f2;
f1 = f2;
f2 = fn;
}
return fn;
}
}