从n到m的偶数和,无论n <m还是n> m JavaScript

我们需要编写一个函数,该函数使用两个数字作为参数m和n,并返回介于m和n之间(包括两端)的所有偶数之和。

例如-

If m = 10 and n = -4

输出应为10 + 8 + 6 + 4 + 2 + 0 +(-2)+(-4)= 24

方法

我们将首先计算最大为n的所有偶数之和和最大为m的所有偶数之和。

然后,我们将检查两个m和n中的较大者。从较大的总和中减去较小的总和,最终将得到m与n之间的总和。

从0到N的所有偶数之和由-

$$\ frac {N \ times(N + 2)} {4} $$

因此,让我们将所有这些都放入代码中-

示例

const sumEven = n => (n*(n+2))/4;
const evenSumBetween = (a, b) => {
   return a > b ? sumEven(a) - sumEven(b) + b : sumEven(b) - sumEven(a) + a;
};
console.log(evenSumBetween(-4, 10));
console.log(evenSumBetween(4, 16));
console.log(evenSumBetween(0, 10));
console.log(evenSumBetween(8, 8));
console.log(evenSumBetween(-4, 4));

输出结果

控制台中的输出将为-

24
70
30
8
0