题解 | #尼科彻斯定理#

尼科彻斯定理

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

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void async function () {
    // Write your code here
    let num = + await readline();
    sol(num);
}()

function sol(num){
    // n^3 = n^2*(n - 1) + (1 + 3 + ... + n)
    let res = [];
    for(let i = 1; i <= num; i++){
        let n = 2 * i - 1 + num * (num - 1);
        res.push(n);
    }
    console.log(res.join('+'));
}

题目意思就是给你一个整数n,让你输出连续n个奇数的和等于n^3的算式。

一开始我想,既然是连续n个奇数,那么最后肯定能写成:s * n + (1 + ... + n),我只要计算出s就行了。然后我写了个方法去计算从1开始n个连续奇数的和sum。然后求出n^3,减去sum,再除以n 得到s...

感觉好麻烦

然后又仔细看了一下示例,找到了规律:s = n*(n-1)

ok,直接循环计算每个值就行了

全部评论

相关推荐

顺利毕业的鸽子:这个不一定,找hr跟进一下
点赞 评论 收藏
分享
投递亚信科技(中国)有限公司等公司6个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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