学习C++从娃娃抓起!记录下洛谷C++学习和备考过程中的题目,记录每一个瞬间。
附上汇总贴:洛谷刷题C++语言 | 汇总_热爱编程的通信人的博客-CSDN博客
【题目描述】
楼梯有 N 阶,上楼可以一步上一阶,也可以一步上二阶。
编一个程序,计算共有多少种不同的走法。
【输入】
一个数字,楼梯数。
【输出】
输出走的方式总数。
【输入样例】
4
【输出样例】
5
【代码详解】
#include <bits/stdc++.h>
using namespace std;
int n, a[5005] = {1}, b[5005] = {1}, c[5005] = {1}, len = 1;
void f()
{
int jw = 0;
for (int i=0; i<len; i++) {
c[i] = a[i] + b[i] + jw;
jw = c[i] / 10;
c[i] = c[i] % 10;
}
if (jw!=0) {
c[len] = jw;
len++;
}
for (int i=0; i<len; i++) {
a[i] = b[i];
b[i] = c[i];
}
}
int main()
{
cin >> n;
for (int i=2; i<=n; i++) {
f();
}
for (int i=len-1; i>=0; i--) {
cout << c[i];
}
return 0;
}
【运行结果】
4
5