//也可以用数组或者队列解决
//递归
#include<stdio.h>
int Fibonacci(int n)
{
if(n==0)
return 0;
if(n==1)
return 1;
else
return Fibonacci(n-1)+Fibonacci(n-2);
}
int main()
{
int n;
scanf("%d",&n);
printf("%d\n",Fibonacci(n));
}
//迭代
#include<stdio.h>
int diedai(int n)
{
int a[51];
int i;
a[0]=0;
a[1]=1;
for(i=2;i<=n;i++)
{
a[i]=a[i-1]+a[i-2];
}
return a[n];
}
int main()
{
int n;
scanf("%d",&n);
printf("%d\n",diedai(n));
}
斐波那契数列是一种非常有意思的数列,由 000 和 111 开始,之后的斐波那契系数就由之前的两数相加。用数学公式定义斐波那契数列则可以看成如下形式:
F0=0F_0=0F0=0
F1=1F_1=1F1=1
Fn=Fn−1+Fn−2F_n=F_{n-1}+F_{n-2}Fn=Fn−1+Fn−2
我们约定 FnF_nFn 表示斐波那契数列的第 nnn 项,你能知道斐波那契数列中的任何一项吗?
输入格式
输入包括一行,包括一个整数 N(0≤N≤50)N(0 \leq N \leq 50)N(0≤N≤50)。
输出格式
输出包括一行,包括一个整数,为斐波那契数列的第 NNN 项的值。
样例输入
7
样例输出
13