编程算法 - 上n阶楼梯(js)

题意:在你面前有一个n阶的楼梯,你一步只能上1阶或2阶。 请计算出你可以采用多少种不同的方法上楼梯?

思路:因为到某一阶(n)只有两种可能,从第(n-1)上1阶,从第(n-2)上2阶,所以到达第(n)阶的f(n)等于f(n-1)+f(n-2)。

JS代码如下:

var readline = require('readline');
process.stdin.setEncoding('utf-8');

var rl = readline.createInterface({input: process.stdin, output: process.stdout, prompt:''});
rl.prompt();

rl.on('line', function (data) {
    data=parseInt(data.trim());
    let c = f(data)
    process.stdout.write('' + c + '\n');
});
function f(n) {
    if(n===1) {
        return 1;
    }
    else if(n===2) {
        return 2;
    }else {
        return f(n-1)+f(n-2)
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。