160 подписчиков

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

1,9K прочитали
Технологии
Больше по теме

Здравствуйте. Сегодня попробуем снова решить популярную задачку, но уже на языке 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);

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