n 和 m 之间的整数之和的公式是什么?

Don*_*uez 0 javascript arrays algorithm reduce formula

我正在看这个挑战:

\n
\n

计算 1 到 n 之和的公式为:

\n

\xc2\xa0 \xc2\xa0 \xc2\xa0总计 = n * (n + 1) / 2

\n

编写一个函数来计算nm之间(含)之间的所有值的总和。

\n

有没有办法使用该公式nm来获得答案?跳出框框思考……你不必想出一个新的公式;你只需想出一个新的公式即可。有一种方法可以使用现有的方法来解决它。

\n
\n

我仍然通过编写以下代码通过了所有测试:

\n

\r\n
\r\n
function solution(n, m){\n    let numsArr = [];\n    for(i=n; i <= m; i++){\n        numsArr.push(i);\n    }\n    let initialValue = 0;\n    let sum = numsArr.reduce(\n        (previousValue, currentValue) => previousValue + currentValue,\n        initialValue\n    );\n    return sum\n}\n\nconsole.log(solution(5,9));
Run Code Online (Sandbox Code Playgroud)\r\n
\r\n
\r\n

\n

但是如何使用指定的公式来解决它呢?

\n

Ami*_*era 5

m您想要的公式是 sum up to减去 sum up to之间的差n-1

const sum = (a) => a * (a + 1) / 2;

const mySum = (m, n) => sum(m) - sum(n - 1);

console.log(mySum(9, 5));
Run Code Online (Sandbox Code Playgroud)