题解 | #尼科彻斯定理#
尼科彻斯定理
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,直接循环计算每个值就行了
