//N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式。(要求采用非递归) #include <stdio.h> #define max 100 int main() { int n, i; int dp[max]; while (scanf("%d", &n) != EOF) { dp[1] = 1; dp[2] = 2; for (i = 3; i <= n; i++) dp[i] = dp[i - 1] + dp[i - 2]; printf("%d", dp[n]); } return 0; }