小马需要将N件物品从河的一岸搬运到河的另一岸,每次搬运的物品为1到3件。请问小马将N件物品全部搬运过去有多少种方案。

全题在这里:
小马需要将N件物品从河的一岸搬运到河的另一岸,每次搬运的物品为1到3件。请问小马将N件物品全部搬运过去有多少种方案。例如:N=3,将3件物品全部搬运过去有4种方案:方案一:第一次搬运1件,第二次搬运1件,第三次搬运1件;方案二:第一次搬运1件,第二次搬运2件;方案三:第一次搬运2件,第二次搬运1件;方案四:一次搬运3件。

不会了啊呀啦!哪位博主给解答出来一下下啊?真是一筹莫展了,谢谢啦谢谢啦(磕头)。

应该是这样的一个递归函数:

def f(n):
    res = 0
    if n == 1:
        return 1
    elif n == 2:
        return 2
    elif n == 3:
        return 4
    else:
        return f(n-1)+f(n-2)+f(n-3)