@Dron01

Как суммировать целые кратные 3 и 5 до указанного числа?

нужно просуммировать числа до number, если они делятся на 3 или 5. Если number < 0, вывести 0

function solution(number){
  if (number<0) {
    return 0
  } else if {
  for (let i=0, i<number, i++)
    if i%3 or i%5; {
      accum+=i
    } else if {
      continue;
    }
  }
}
  • Вопрос задан
  • 227 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Повторяющийся момент, вычисление суммы последовательности от 0 до N с шагом — в функцию.

Сложить ряд с шагом 3, ряд с шагом 5 и вычесть места, где они пересекаются и значения двоятся: в кратных 15 – тоже ряд, с шагом 15.
const sum = number => {
  if (number < 0) return 0;

  // вспомогательная функция считает сумму ряда с шагом step
  const sequenceSum = step => {
    const q = Math.floor(number / step);
    return q * (q + 1) * step / 2;
  }

  return sequenceSum(3) + sequenceSum(5) - sequenceSum(3 * 5);
}

sum(18) // 78
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Adamos
@Adamos
Это точно задача по программированию, а не по математике?
Решение не требует никаких циклов и сводится к одной формуле.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы