题解 | 牛牛学数列
牛牛学数列
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(); });