文章目录
1 题目
童年生活二三事
时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小)
题目描述
NowCoder小时候走路喜欢蹦蹦跳跳,他最喜欢在楼梯上跳来跳去。
但年幼的他一次只能走上一阶或者一下子蹦上两阶。
现在一共有N阶台阶,请你计算一下NowCoder从第0阶到第N阶共有几种走法。
输入描述:
输入包括多组数据。每组数据包括一个整数n, (1≤n≤90)。
输出描述:
对应每个输入包括一个输出。
为redraiment到达第n阶不同走法的数量。
输入例子:
1
2
输出例子:
1
2
2 解析
设f(n)为青蛙从0到n台阶的方案数,
当f(1) = 1,f(2) = 2;
当n为3时,
当n为4时,
于是发现递推式为f(n) = f(n-1)+f(n-2)。也就是斐波那契数列。
- 用递归(深度搜索)的化,会超时。所以考虑用动态规划,找出递推式,打表,然后查询。
- 由于递推式最后的值会超过int,采用longlong存储。
3 参考代码