а где физбаз? =)
for (let i = 1; i <= range; i++) {
if (i % firstNumber === 0 && i % secondNumber === 0){
console.log(i + ` Делится на ${firstNumber} и на ${secondNumber} FizzBuzz `)
} else if (i % secondNumber === 0) {
console.log(i + ` Делится на ${secondNumber} fizz`)
} else if (i % firstNumber === 0) {
console.log(i + ` Делится на ${firstNumber} buzz`)
} else {
console.log(i + ' Не делится')
}
}
Смысл тотже )
Добавьте, пожалуйста, в программу обучения “Знакомство с JS” описание условия “else if”. Если бы знал, решил бы сразу FizzBuzz.
Спасибо, мы учтём ваше мнение.
В верхнем условии можно использовать число 15,привести условие к общему делителю.
Да, если бы знать про else if раньше))
Спасибо всем, кто помог…
var number = 15;
var taskResult;
if (number%15==0)
{console.log (taskResult=‘FizzBuzz’);}
else if (number%5==0) {
console.log (taskResult=‘Buzz’);}
else if (number%3==0) {
console.log (taskResult=‘Fizz’);
} else {
console.log (taskResult=number);}
я сделал такой вот вариант
var number = 15;
var taskResult;
if (number % 3 === 0) {
console.log(taskResult = ‘Fizz’);
}
if (number % 5 === 0) {
console.log(taskResult = ‘Buzz’);
}
if (number % 3 === 0 && number % 5 === 0) {
console.log(taskResult = ‘FizzBuzz’);
}
if (number % 3 != 0 && number % 5 != 0) {
console.log(taskResult = number);
}
у меня почти такое же решение
var number = 18;
var taskResult;
if(number % 3 == 0 && number % 5 == 0) {
taskResult = ‘FizzBuzz’;
} else if (number % 5 == 0) {
taskResult = ‘Buzz’;
} else if (number % 3 == 0) {
taskResult = ‘Fizz’;
} else {
taskResult = number;
}
console.log (taskResult);
Методом тыка получилось пройти испытание, но как оно работает не совсем понял, потому что по моей логике должно было быть ровно наоборот
taskResult = 'FizzBuzz';
if (number % 5) {
taskResult = 'Fizz';
} if (number % 3) {
taskResult = 'Buzz';
} if (number % 5 && number % 3) {
taskResult = number;
}
var number = 15;
var taskResult;
if (number % 3 === 0) {
taskResult = ‘Fizz’;
console.log(taskResult);
}
if (number % 5 === 0) {
taskResult = ‘Buzz’;
console.log(taskResult);
}
if (number % 3 === 0 && number % 5 === 0) {
taskResult = ‘FizzBuzz’;
console.log(taskResult);
}
if (number % 3 !== 0 && number % 5 !== 0) {
taskResult = number;
console.log(number);
}
Примечание есть в задании!
Чтобы проверить, делится ли одно число на другое без остатка, используйте оператор «остаток от деления». Он записывается в виде знака процента (%) и возвращает остаток от деления чисел. Работает это так:
12 % 5; // Вернёт 2
27 % 3; // Вернёт 0
13 % 3; // Вернёт 1
Решение
number = 15;
var taskResult;
if((number % 3 == 0) || (number % 5 == 0)){
if(number % 3 == 0){
taskResult ='Fizz';
}
if(number % 5 == 0){
taskResult = 'Buzz';
}
if((number % 3 == 0) && (number % 5 == 0)){
taskResult = 'FizzBuzz';
}
}else{
taskResult = number;
}
if ( number % 3 === 0 && number % 5 > 0) {
taskResult =‘Fizz’;
}
if (number % 5 === 0 && number % 3 > 0 ){
taskResult =‘Buzz’;
}
if(number % 3 == 0 && number % 5 == 0){
taskResult = ‘FizzBuzz’;
}
if (number % 3 >= 1 && number % 5 >= 1){
taskResult = number;
}
Код
var number = 15;
var taskResult;
if (number % 3 == 0 && number % 5 == 0) {
taskResult = ‘FizzBuzz’;
} else if (number % 3 == 0 && number % 5 !== 0) {
taskResult = ‘Fizz’;
} else if (number % 3 !== 0 && number % 5 == 0) {
taskResult = ‘Buzz’;
}
else {
taskResult = number;
}
var number = 15;
var taskResult;
taskResult = number;
if (number % 3 === 0) {
taskResult = ‘Fizz’;
}
if (number % 5 === 0) {
taskResult = ‘Buzz’;
}
if (number % 3 === 0 && number % 5 === 0) {
taskResult =‘FizzBuzz’;
}
var number = 15;
var taskResult = '';
if (number % 3 === 0) {
taskResult += 'Fizz';
}
if (number % 5 === 0) {
taskResult += 'Buzz';
}
if (number % 3 !== 0 && number % 5 !== 0) {taskResult = number;}
У меня получился довольно компактный код, и при этом в рамках полученных в этой главе знаний, поэтому решил поделиться кодом).
var number = 15;
var taskResult = number;
if (!(number % 3)) {
taskResult = ‘Fizz’;
}
if (!(number % 5)) {
taskResult = ‘Buzz’;
}
if ((!(number % 3)) && (!(number % 5))) {
taskResult = ‘FizzBuzz’;
}
Народ проверьте пожалуйста, я весь мозг сломал! Интересует конкретно строчка с FizzBuzz. Остальное вроде работает корректно
let number = 30;
let taskResult = number;
if (number % 3 == 0 && number % 5 == 0) {
taskResult = “FizzBuzz”
};
if (number % 3 == 0) {taskResult = “Fizz”};
if (number % 5 == 0) {taskResult = “Buzz”};
Выяснил, что если передвинуть строку с FizzBuzz в конец кода, все работает. Почему???
Насколько я понял - чем сложнее условие - тем ниже оно должно находиться. Видимо программа срабатывает так: если число на 3 и на 5 делится без остатка - первое верно, потом идет дальше - второе верно и оно перезаписывает первое, затем третье тоже верно и оно перезаписывает второе. В итоге у тебя должно выдаваться “Buzz”. Могу ошибаться, конечно, тоже сталкивался с такой проблемой.
у меня наоборот, выполняется если ‘FizzBuzz’ находится вверху!
let number = 15;
let taskResult;
if (number % 3 == 0 && number % 5 == 0){
taskResult = ‘FizzBuzz’;
} else if (number % 5 == 0){
taskResult = ‘Buzz’;
} else if ( number % 3 == 0){
taskResult = ‘Fizz’;
}else{
taskResult = number;
};