두 개의 숫자를 인수 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