Computer >> Máy Tính >  >> Lập trình >> Javascript

Tổng các số chẵn từ n đến m bất kể n m JavaScript

Chúng tôi được yêu cầu viết một hàm nhận hai số làm đối số m và n và nó trả về tổng của tất cả các số chẵn nằm trong khoảng từ m đến n (cả hai đều bao hàm)

Ví dụ -

If m = 10 and n = -4

Đầu ra phải là 10 + 8 + 6 + 4 + 2 + 0 + (- 2) + (- 4) =24

Phương pháp tiếp cận

Đầu tiên chúng ta sẽ tính tổng của tất cả các số chẵn đến n và tổng của tất cả các số chẵn đến m.

Sau đó, chúng tôi sẽ kiểm tra cho lớn hơn của hai m và n. Trừ tổng của nhỏ hơn cho sumof lớn hơn, cuối cùng sẽ cho chúng ta tổng giữa m và n.

Công thức

Tổng của tất cả các số chẵn từ 0 đến N được cho bởi -

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

Do đó, hãy đặt tất cả những điều này vào mã -

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));

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

24
70
30
8
0