刷题 - 递归

递归的关键是发现规律,找到递推公式

HJ61 放苹果

const fn = function(m, n) {
    if (m === 1 || n === 1) {
        return 1;
    } 
    if (m < 0 || n<=0) {
        return 0
    }
    // 一个盘子为空 + 每个盘子都有苹果
    return fn(m, n-1) + fn(m-n, n)
}

const [m, n] = readline().split(' ').map(Number);
console.log(fn(m,n))

HJ91 走方格的方案数

// f(m, n) = f(m, n - 1) + f(m - 1, n)
while (line=readline()) {
    const [n, m]=line.split(' ').map(Number);
    console.log(fn(n, m));
    
    function fn(i, j) {
        if (i === 0){
            return 1;
        }
        if (j === 0) {
            return 1;
        }
        return fn(i, j-1) + fn(i-1, j);
    }
}

 

posted @ 2022-03-20 20:45  小白yang  阅读(39)  评论(0)    收藏  举报