斐波那契数列
题目描述
斐波那契数列0,1,1,2,3,5,8,13,21,34,55,…,从第三项起,每一项都是紧挨着的 前两项的和。写出计算斐波那契数列的任意一个数据项递归程序。
输入格式
所求的项数。
输出格式
数据项的值。
样例
样例输入
10
样例输出
34
精髓:这道题其实就是找规律,如下表:
| 天数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | ······ |
|---|---|---|---|---|---|---|---|---|
| 数字 | 0 | 1 | 1 | 2 | 3 | 5 | 8 | ······ |
那么我们从中就可以得出递推式:a[i]=a[i-1]+a[i-2];
参考代码:
#include<cstdio>
int main() {
int a[105]={0,0,1},n;
scanf("%d",&n);
for(int i=3;i<=n;i++) {
a[i]=a[i-1]+a[i-2];
}
printf("%d",a[n]);
return 0;
}
本文介绍了如何使用C++编写计算斐波那契数列指定项的递归程序。通过理解数列的递推性质,a[i]=a[i-1]+a[i-2],给出了样例输入和输出,并提供了相应的代码实现。
415

被折叠的 条评论
为什么被折叠?



