Fibonacci数列
题目
输入一个正整数n,求Fibonacci数列的第n个数。Fibonacci数列的特点:第1,2个数为1,1。从第3个数开始,概述是前面两个数之和。即:
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020080214453771.jpg)
要求输入的正整数n不超过50.
【输入】
一个不超过50的正整数
【输出】
Fibonacci数列的第n个数,末尾输出换行。
样例输入
20
样例输出
6765
解析
本题是一道简单的递推题,其中可影射动态规划的基本思想,以小见大,主要思路是寻找递推的规律,本题非常直白的给出F(n)=F(n-1)+F(n-2)(n>=3),我们所要做的就是准确的输入输出,对细节的恰当把握,比如循环的范围,边界,与最后的格式。
代码流程
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
const int maxn = 51;
int main() {
int n;
cin >> n;
ll fib[51] = {0, 1, 1};
for (int i = 3; i <= 50; i++) {
fib[i] = fib[i - 1] + fib[i - 2];
}
cout << fib[n] << endl;//递推
return 0;
}
总结
1.递推思想
2.严谨细节