Problem
- Upto and including n, this function will return the sum of all multiples of 3 and 5.
- n까지(n 포함), 3과 5의 모든 배수의 합을 반환한다.
Solution 01
function findSum(n) {
let sum = 0;
for (let i = 0; i <= n; i++) {
if (i % 3 === 0 || i % 5 === 0) {
sum += i;
}
}
return sum;
}
findSum(1); // 0
findSum(2); // 0
findSum(3); // 3 (3)
findSum(4); // 3 (3)
findSum(5); // 8 (3 + 5)
findSum(6); // 14 (3 + 5 + 6)
findSum(7); // 14 (3 + 5 + 6)
findSum(8); // 14 (3 + 5 + 6)
findSum(9); // 23 (3 + 5 + 6 + 9)
findSum(10); // 33 (3 + 5 + 6 + 9 + 10)
Solution 02
function findSum(n) {
if (n < 3) return 0;
return n % 3 === 0 || n % 5 === 0 ? n + findSum(n - 1) : findSum(n - 1);
}
findSum(1); // 0
findSum(2); // 0
findSum(3); // 3 (3)
findSum(4); // 3 (3)
findSum(5); // 8 (3 + 5)
findSum(6); // 14 (3 + 5 + 6)
findSum(7); // 14 (3 + 5 + 6)
findSum(8); // 14 (3 + 5 + 6)
findSum(9); // 23 (3 + 5 + 6 + 9)
findSum(10); // 33 (3 + 5 + 6 + 9 + 10)