题解 | 牛牛学数列
牛牛学数列
https://www.nowcoder.com/practice/0b97367cd2184c12a0e02f7c223aee11
const rl = require("readline").createInterface({ input: process.stdin });
function dcsl_sum(a1, d, n) {
return n * a1 + (n * (n - 1) * d) / 2;
}
rl.on("line", (input) => {
//分治思想:n为偶数
// if ((input * 1) % 2 === 0) {
// n = input / 2;
// z_sum = dcsl_sum(1, 2, n);
// f_sum = dcsl_sum(-2, -2, n);
// result = z_sum + f_sum;
// }
//n为奇数
// else {
// n = Math.floor(input / 2);
// z_sum = dcsl_sum(1, 2, n + 1);
// f_sum = dcsl_sum(-2, -2, n);
// result = z_sum + f_sum;
// }
//优化:使用Math里的floor和ceil动态取值
n = input / 2;
z_sum = dcsl_sum(1, 2, Math.ceil(n));
f_sum = dcsl_sum(-2, -2, Math.floor(n));
result = z_sum + f_sum;
console.log(result);
rl.close();
});
