题解 | 小乐乐求和

小乐乐求和

https://www.nowcoder.com/practice/ce0b2eacd3d04647831358c2876e44ff

const rl = require("readline").createInterface({ input: process.stdin });

rl.on("line", (input) => {

    //方案一失败,栈溢出了
    // input = parseInt(input);
    // let result = 0;
    // function digui(input){
    //     result += input;
    //     input = input-1;
    //     if(input>0){
    //         digui(input);
    //     }
    //     return result;
    // }
    // console.log(digui(input));

    //方案二
    input = parseInt(input);
    let result = 0;
    result = (input * (input + 1)) / 2; //等差数列求和公式
    console.log(result);
    rl.close();
});

//我这个递归效率不高,递归改进见如下:
// 尾递归理论形式
// function sumTail(n, acc = 0) {
//     if(n <= 0) return acc;
//     return sumTail(n - 1, acc + n);
// }

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务