Найти в Дзене
Skesov

Как решить задачу FizzBuzz на JavaScript (способ структурного программирования)

Здравствуйте. Сегодня попробуем снова решить популярную задачку, но уже на языке JavaScript. Для начала вспомним условие, а потом сразу перейдем к делу.

Напишите программу, которая выводит на экран числа от 1 до 100. При этом вместо чисел, кратных трем, программа должна выводить слово «Fizz», а вместо чисел, кратных пяти — слово «Buzz». Если число кратно и 3, и 5, то программа должна выводить слово «FizzBuzz».

1. Первое, что нам необходимо. Это создать список, в который мы будем складывать полученные результаты.

const list = [];

2. Нам нужен цикл for и генератор чисел, чтобы получить список из ста значений, в случае JavaScript это понятие совмещенное и пишется в одну строчку:

for (let i = 1; i <= 100; i++) {
}

Здесь мы задаём переменную i с начальным значением 1 и добавляем по единице, пока не получим число больше ста.

3. В тело цикла начинаем помещать наше условие задачи, начинаем с самого редкого случая:

if (i % 15 === 0) {
list.push("FizzBuzz");
}

Тут мы начинаем проверять: если (if) текущее число при делении на 15 дает остаток ноль, то в список мы добавляем фразу 'FizzBuzz' встроенным методов .push().

Продолжаем строить логику приложения, дальше нас интересуют числа кратные 3 и 5, для этого прописываем:

else if (i % 3 === 0) {
list.push("Fizz");
} else if (i % 5 === 0) {
list.push("Buzz");
}

else if используем для того, чтобы не было дублированных записей к первому случаю. Напоследок прописываем случай else:

else {
list.push(i);
}

Данный случай описывает, когда число не делится на 3 и 5, его нужно просто добавить в список. На это тело цикла for закрыто.

4. Осталось только вывести список в консоль. Для этого используем, конечно же, функцию console.log:

console.log(list);

И вывод должен быть примерно таким:

Вывод FizzBuzz на JavaScript
Вывод FizzBuzz на JavaScript

Полный код программы доступен ниже:

const list = [];
for (let i = 1; i <= 100; i++) {
if (i % 15 === 0) {
list.push("FizzBuzz");
} else if (i % 3 === 0) {
list.push("Fizz");
} else if (i % 5 === 0) {
list.push("Buzz");
} else {
list.push(i);
}
}
console.log(list);

Надеюсь данная статья вам оказалась полезной, подписывайтесь на канал. Пишите в комментариях какие ещё задачки вы хотели бы увидеть. Спасибо за внимание.