爬楼梯,一次爬1-k阶,一共n阶楼梯,一共多少种方法

代码:
我这里下标1表示1阶楼梯,为了下标的方便
输入:
number表示楼梯总数,k表示一次爬多少阶楼梯

def jumpd(number, k):
    dp = [0]*(number+1)
    dp[0], dp[1] = 1, 1
    for i in range(2, k):
       dp[i] = sum(dp[0:i])
    for j in range(k, number+1):
        dp[j] = sum(dp[j-k:j])
    return dp[number]

print(jumpd(4, 2))

输出:

5

比如:

1 1 1 1
1 1 2
1 2 1
2 1 1
2 2

一共五种方法

posted @ 2022-05-14 20:29  小Aer  阅读(25)  评论(0编辑  收藏  举报  来源