acm_斐波那契数列
⽐赛描述
在数学上,斐波那契数列(Fibonacci Sequence),是以递归的⽅法来定义:
复合氨基酸
F0 = 0
F1 = 1
Fn = Fn - 1 + Fn - 2
拉格朗日方程
⽤⽂字来说,就是斐波那契数列由0和1开始,之后的斐波那契数就由之前的两数相加。⾸⼏个斐波那契数是:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946,………………
特别指出:0不是第⼀项,⽽是第零项。
伊丽莎白辉煌年代在西⽅,最先研究这个数列的⼈是⽐萨的列奥纳多(⼜名斐波那契),他描述兔⼦⽣长的数⽬时⽤上了
这数列。
n 第⼀个⽉有⼀对刚诞⽣的兔⼦
n 第两个⽉之后它们可以⽣育
n 每⽉每对可⽣育的兔⼦会诞⽣下⼀对新兔⼦
n 兔⼦永不死去
假设在n⽉有新⽣及可⽣育的兔⼦总共a对,n+1⽉就总共有b对。在n+2⽉必定总共有a+b对:因为在n+2⽉的时候,所有在n⽉就已存在的a对兔⼦皆已可以⽣育并诞下a对后代;同时在前⼀⽉(n+1⽉)之b对兔⼦中,在当⽉属于新诞⽣的兔⼦尚不能⽣育。
现请以较短的时间,求出斐波那契数列第n项数值,0≤n≤40。 输⼊
斐波那契数列项数n,0≤n≤40。
斐波那契数列第n项数值
4
样例输出
3
王德华代码:
#include<stdio.h> const int N=41;
srtpint main()
{
唐继尧
int n,i;
int a[N];
a[0]=0;
a[1]=1;
for(i=2;i<N;i++){
a[i]=a[i-1]+a[i-2]; }
scanf("%d",&n);
printf("%d\n",a[n]); return 0;
}