Вернуть сумму всех чисел, кратных 3 или 5, меньше переданного числа javascript
Ребята, помогите решить задачу, пожалуйста. Только начала практиковаться на Codewars, не понимаю фразу в условии задачи(
Вот условие полностью: Если мы перечислим все натуральные числа до 10, кратные 3 или 5, мы получим 3, 5, 6 и 9. Сумма этих кратных равна 23. Завершите решение так, чтобы оно возвращало сумму всех чисел, кратных 3 или 5, меньше переданного числа. Кроме того, если число отрицательное, верните 0 (для языков, в которых они есть). Примечание. Если число кратно и 3, и 5, считайте его только один раз.
Не понимаю фразу "меньше переданного числа" - это какое число имеется в виду? Заранее спасибо за ответ!
let sum = 0;
function solution(numbers) {
for (let i = 1; i <= 10; i++){
if(i % 3 === 0 && i % 5 === 0) {
console.log(i);
}
else if(i % 3 === 0) {
console.log(i);
}
else if (i % 5 === 0) {
console.log(i);
}
else if (i < 0) {
}
}
}
Ответы (1 шт):
Это значит нужно найти все числа, кратные 3 и 5, до переданного вам числа. В примере "переданное число" - это 10. Вам могут дать 100 и тогда вам надо просуммировать все числа, кратные 3 и 5 от 0 до 100 причём (например) 15 надо считать 1 раз, т.к. оно делится и на 3 и на 5.
Как один из способов можете попробовать такое решение:
const calcDevidedBy3And5 = (maxNumber) => {
if (maxNumber < 0) return 0;
let sum = 0;
for (let i = 0; i < maxNumber; ++i) {
if (i % 3 === 0 || i % 5 === 0) {
sum += i;
}
}
return sum;
}
console.log(calcDevidedBy3And5(0));