Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript로 특정 수 미만의 3 또는 5의 배수 합계 구하기

이번 글에서는 숫자 하나를 한계값(limit)으로 받아, 그 값 미만의 자연수 중에서 3 또는 5의 배수에 해당하는 모든 수의 합을 계산하는 JavaScript 함수를 작성해 보겠습니다.

문제 이해하기

예를 들어 한계값이 10이라면, 10 미만의 자연수 중 3 또는 5의 배수는 3, 5, 6, 9입니다.

따라서 결과는 다음과 같습니다.

3 + 5 + 6 + 9 = 23

구현 방법

가장 직관적인 접근 방식은 3부터 한계값 미만까지 반복문을 돌면서, 각 숫자가 3 또는 5로 나누어 떨어지는지 확인한 뒤 조건을 만족하면 합계에 더하는 것입니다.

예제 코드

const sumOfMultiple = (limit = 10) => {
   let i, sum = 0;
   for (i = 3; i < limit; i += 1) {
      if (i % 3 === 0 || i % 5 === 0) {
         sum += i;
      };
   };
   return sum;
}
console.log(sumOfMultiple(1000));
console.log(sumOfMultiple(10));
console.log(sumOfMultiple(100));

실행 결과

위 코드를 실행하면 콘솔에 다음과 같은 결과가 출력됩니다.

233168
23
2318

코드 설명

  • 기본 매개변수: limit = 10처럼 기본값을 지정하면, 인자 없이 함수를 호출했을 때 자동으로 10이 사용됩니다.
  • 나머지 연산자(%): i % 3 === 0 || i % 5 === 0 조건을 통해 해당 숫자가 3 또는 5의 배수인지 판별합니다.
  • 반복 범위: 문제에서 '미만(below)'을 요구하므로 반복문은 i < limit까지만 실행되며, 한계값 자체는 포함되지 않습니다.

이처럼 간단한 반복문과 조건문만으로도 Project Euler의 유명한 첫 번째 문제와 같은 배수 합계 계산을 손쉽게 해결할 수 있습니다.