Пошук уроків, статей та іншого контенту
Класична задача FizzBuzz: замініть числа, кратні 3 та/або 5, на слова.
Напишіть функцію solve(n), яка повертає масив рядків для чисел від 1 до n включно: якщо число кратне і 3, і 5 — "FizzBuzz"; якщо кратне лише 3 — "Fizz"; якщо кратне лише 5 — "Buzz"; інакше — саме число у вигляді рядка.
Приклади
Вхід: 5
Вихід: ["1", "2", "Fizz", "4", "Buzz"]
Вхід: 15
Вихід: ["1", "2", "Fizz", "4", "Buzz", "Fizz", "7", "8", "Fizz", "Buzz", "11", "Fizz", "13", "14", "FizzBuzz"]
Вхід: 1
Вихід: ["1"]
Обмеження: 1 ≤ n ≤ 10000
Ваше рішення
Підказки
Перевіряйте кратність 15 (тобто і 3, і 5 одночасно) першою — інакше умова на кратність лише 3 чи лише 5 спрацює раніше і поверне неправильний результат.
String(i) перетворює число на рядок для звичайних елементів масиву.
function solve(n) {
const result = [];
for (let i = 1; i <= n; i++) {
if (i % 15 === 0) result.push("FizzBuzz");
else if (i % 3 === 0) result.push("Fizz");
else if (i % 5 === 0) result.push("Buzz");
else result.push(String(i));
}
return result;
}Перевірка кратності 15 стоїть першою, бо число, кратне і 3, і 5, також кратне і кожному з них окремо — якби перевірка на 3 чи 5 йшла раніше, "FizzBuzz" ніколи б не спрацював.