题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
n<=39
解题思路
斐波那契数列公式:f(n)=f(n-1)+f(n-2),本题使用递归和非递归两种方式进行计算。另外不使用数组储存斐波那契数列,因为如果n足够大,则会使得数组存储不下。
实现代码
int Fibonacci(int n) {
if(n==0){return 0;}
else if(n==1){return 1;}
else{
return Fibonacci(n-1)+Fibonacci(n-2);
}
}
int Fibonacci(int n) {
int fn_1=1,fn_2=0;
if(n==0){return 0;}
else if(n==1){return fn_1;}
else{
int fn=0;
for(int i=2;i<=n;i++){
fn=fn_1+fn_2;
fn_2=fn_1;
fn_1=fn;
}
return fn;
}
}