Показать сообщение отдельно
  #18 (permalink)  
Старый 22.03.2019, 23:10
Интересующийся
Отправить личное сообщение для Allegro75 Посмотреть профиль Найти все сообщения от Allegro75
 
Регистрация: 13.03.2019
Сообщений: 15

Ещё задачка.

Условие:

fizzBuzz.js
Реализуйте и экспортируйте по умолчанию функцию, которая выводит (console.log) в терминал числа в диапазоне от begin до end. При этом:

Если число делится без остатка на 3, то вместо него выводится слово Fizz
Если число делится без остатка на 5, то вместо него выводится слово Buzz
Если число делится без остатка и на 3, и на 5, то вместо числа выводится слово FizzBuzz
В остальных случаях выводится само число

Функция принимает два параметра (begin и end), определяющих начало и конец диапазона (включительно). Для простоты считаем, что эти параметры являются целыми числами больше нуля. Если диапазон пуст (в случае, когда begin > end), то функция просто ничего не печатает.
Пример

Вызов функции:

fizzBuzz(11, 20);

Вывод в терминале:

11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz

Это задание крайне часто задают на собеседованиях.



Решение:
const fizzBuzz = (begin, end) => {
  const word = (num) => {
    if (((num % 3) === 0) && ((num % 5) === 0)) {
      return 'FizzBuzz';
    }
    else if ((num % 3) === 0) {
      return 'Fizz';
    }
    else if ((num % 5) === 0) {
      return 'Buzz';
    }
    else return num;
  }
  let start = begin;
  for (; start <= end; start += 1) {
    console.log(word(start));
  }
}
Ответить с цитированием