算法-分苹果

95 阅读1分钟

image.png

分析:放慢 + 没放满

放满的时候,把每个盘子里的一个苹果和盘子合二为一。f(m-n,n) 没放满的时候,此时把盘子减少一个,对结果没影响。fun(m,n)=fun(m,n-1);

func div(m,n int)int{
    if m==0 || n==1{
    return 1
    }
    if n == 0{
        return 0
    }
    if n> m{
        return div(m,n-1)
    }else{
        return div(m,n-1)+div(m-n,n)
    }
}