Viết hàm nhận hai số m, n, trả về tổng số chẵn giữa m và n (tính cả hai đầu).
Ví dụ: m=10, n=-4 => 10+8+6+4+2+0+(-2)+(-4) = 24.
Cách tiếp cận
Tính tổng số chẵn từ 0 đến n và 0 đến m. Lấy tổng lớn trừ tổng nhỏ, cộng thêm giá trị nhỏ (vì công thức tính đến n bao gồm n).
Công thức
Tổng số chẵn từ 0 đến N: N*(N+2)/4
Ví dụ
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));Kết quả
Đầu ra trong console sẽ là:
24 70 30 8 0