Нужно написать цикл, который перебирает числа от 4 до 37 и выполняет следующие действия:
Число должно попадать только под одно условие. Если число пападает под несколько условий - выполнится должно первое из них.
const m = 4;
const n = 37;
let result = 0;
for (let i = m; i <= n; i++) {
if (i % 2 == false && i % 4) {
result += i;
}
if (i % 3 == false) {
result -= i;
}
if (i % 4 == false) {
result *= i;
}
if (i % 5 == false) {
result = i;
console.log(result);
}
}
Этот вариант неправильный.
ну так прочитайте условие внимательнее - вы же сами ему противоречите:
Если число пападает под несколько условий - выполнится должно первое из них.
это значит у вас минимум должно использоваться или else if
или contunue
типа:
if(i%2 == false && i%4){
result += i;
}
else if(i%3 == false){
result -= i;
}
или
if(i%2 == false && i%4){
result += i;
continue;
}
if(i%3 == false){
result -= i;
continue;
}
читаем условие дальше:
Если число кратно 5, то просто выводит в консоль это число и не изменяет результат (даже если число подпадает под условия выше)
это значит, что проверка должна быть самой первой в принципе
if(i%5 == 0){
console.log(i);
}
else
{
if(i%2 == false && i%4){
result += i;
}
else if(i%3 == false){
result -= i;
}
}
Потом просто как замечание - модуль от деления - это число, а не булево значение, так и сравнивайте с числом, меньше потом путаницы будет
И еще одно замечание - код можно чуть упростить - если число кратно 2 и не кратно 4, то это означает ровно то, что остаток от деления на 4 равен... 2
if (i % 4 == 2)
тем самым можно избежать двойных проверок - просто код чуть покомпактнее будет
У меня есть текст, который движется по кругу SVG, и который масштабируется в зависимости от размера окна - Я хочу анимировать текст так, чтобы...
Как реализовать нативным JavaScript, чтобы я брал переменную с input и ещё увеличивал по клику на единицу? Обычный input type="number" не подходит, потому...