Успешно реализован ответ Чернослив.

ужно подняться по лестнице, которая имеет n ступеней, и вы решили получить дополнительное упражнение, перепрыгивая по ступенькам. Вы можете пройти не более k шагов за один прыжок. Верните все возможные последовательности прыжков, которые вы могли предпринять, чтобы подняться по лестнице, отсортированные.

Моя реализация, очевидно, дает мне неправильный ответ.

def climbingStaircase(n, k):
    final_res=[]
    final_res.append(CSR(n,k,[]))
    return final_res

def CSR(n,k,res):
    if n == 0:
        return res        
    else:
        for i in range(1,k+1):
            if n-i>=0:
                res.append(i)
                n=n-i
                res=CSR(n,i,res)
        return res

Для n = 4 и k = 2 вывод должен быть

[[1, 1, 1, 1],
 [1, 1, 2],
 [1, 2, 1],
 [2, 1, 1],
 [2, 2]]

Фактический вывод:

[[1,1,1,1,2,1]]

Может кто-нибудь указать, какую часть я пропускаю?

Ответы на вопрос(1)

Ваш ответ на вопрос