解决斐波那契数列(4)作死的小孩
童年生活二三事
时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小)
题目描述
NowCoder小时候走路喜欢蹦蹦跳跳,他最喜欢在楼梯上跳来跳去。
但年幼的他一次只能走上一阶或者一下子蹦上两阶。
现在一共有N阶台阶,请你计算一下NowCoder从第0阶到第N阶共有几种走法。
输入描述:
输入包括多组数据。每组数据包括一个整数n, (1≤n≤90)。
输出描述:
对应每个输入包括一个输出。
为redraiment到达第n阶不同走法的数量。
输入例子:
1
2
输出例子:
1
2
解决的代码
#include <stdio.h> #include <stdlib.h> int main(){ int n,i; long arr[91]; arr[1] = 1; arr[2] = 2; arr[3] = 3; for(i = 3;i<91;i++){ arr[i] = arr[i-1]+arr[i-2]; } while(scanf("%d",&n)!=EOF){ printf("%ld\n",arr[n]); } return 0; }
首先查找规律,得到:
F(n) = F(n-1) + F(n-2)
接下来,运用数列填充法,设置arr数列,需要注意的是,要设置为长整形。
如有不足还请指正。