Background
Special for beginners, ^_^
Description
楼梯有 N 级台阶,上楼可以一步上一阶,也可以一步上二阶。编一递推程序,计算共有多少种不同走法?
Format
Input
一个整数 N(1≤N≤40),为台阶的级数。
Output
一个整数,为不同走法数。
Samples
输入数据 1
3
Copy
输出数据 1
3
Copy
Limitation
1s, 1024KiB for each test case.
代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1e6 + 5;
ll numbers[maxn];
int main()
{
int n;
cin >> n;
numbers[0] = 1;
numbers[1] = 1;
for (int i = 2; i <= n; ++i) {
numbers[i] = numbers[i - 1] + numbers[i - 2];
}
cout << numbers[n];
cout << "\n";
return 0;
}
递推算法,其实跟斐波那契数列差不多
补充:斐波那契数列求和:求 Fibonacci 前 n 项和(c++)_清水神悠的博客-CSDN博客