[CodeKata JS] Sum of all the multiples of 3 or 5

Task

당신의 임무는 findSum 함수를 작성하는 것입니다.
n을 파라미터로 받는 이 함수는 n 이하의 3과 5의 모든 배수의 합을 반환합니다.

예를 들면 다음과 같습니다.
findSum(5)8(3 + 5)을 반환해야합니다.
findSum(10)33(3 + 5 + 6 + 9 + 10)을 반환해야합니다.

Initial Setting

function findSum(n) {
  return 0;
}

My Solution

const findSum = (n) => {
  let result = 0;
  for(let i = 0; i <= n; i++) {
    if(i % 3 === 0 || i % 5 === 0) result += i;
  }
  return result;
}

Solution 1 of Another User

const sumMultiples = (m, n) => {
  let x = n / m | 0;
  return m * x * (x + 1) /2;
};

const findSum = n =>
	sumMultiples(3, n) + sumMultiples(5, n) - sumMultiples(15, n);

Solution 2 of Another User

function findSum(n) {
 if (n < 3) return 0
 return (n % 3 === 0 || n % 5 === 0) ? n + findSum(n-1) : findSum(n-1)
}

링크

좋은 웹페이지 즐겨찾기