4.上台阶楼梯有n(100 > n > 0)阶台阶,上楼时可以一步上1阶,也可以一步上2阶,也可以一步上3阶,编程计算共有多少种不同的走法。时间限制:1000内存限制:65536输入输入的每一行包括一组测试数据,即为台阶数n。最后一行为0,表示测试结束。输出每一行输出对应一行输入的结果,即为走法的数目。样例输入```12340```样例输出```1247```
【喵呜刷题小喵解析】这是一个经典的动态规划问题,可以使用动态规划算法来解决。首先,我们定义一个数组dp,其中dp[i]表示上i阶台阶的不同走法数目。对于i=1, 2, 3,走法数目分别为1, 2, 4。对于i>=4,走法数目等于上i-1阶、i-2阶和i-3阶的走法数目之和。最后,我们遍历输入的台阶数,依次输出对应的走法数目即可。时间复杂度为O(n),空间复杂度为O(n)。