Там, где находятся чётные и нечётные числа диапазона. Как написать это короче с помощью цикла for?
______________________________________________________________________________
Num1 = +prompt("Введите начало диапазона");;
num2 = +prompt("Введите начало диапазона");;
if (num1 > num2) {
start = num2;
end = num1;
}
else if (num2 > num1) {
start = num1;
end = num2;
} else {
start = num1;
end = num1;
}
for (i = start; i <= end; i++) {
console.log("i = " + i);
}
if (start % 2 == 0) {
for (i = start; i <= end; i = i + 2) {
console.log("Чётные числа в диапазоне - " + i);
}
for (k = start + 1; k <= end; k = k + 2) {
console.log("Нечётные числа в диапазоне - " + k);
}
}
if (start % 2 != 0) {
for (i = start; i <= end; i = i + 2) {
console.log("Нечётные числа в диапазоне - " + i);
}
for (k = start + 1; k <= end; k = k + 2) {
console.log("Чётные числа в диапазоне - " + k);
}
}
JavaScript
Как упростить этот код (цикл for)?
num1 = +prompt("Введите начало диапазона");
num2 = +prompt("Введите конец диапазона");
if (num1 > num2) {
start = num2;
end = num1;
}
else if (num2 > num1) {
start = num1;
end = num2;
} else {
start = num1;
end = num1;
}
/// вместо всего того что у вас идет дальше делаем так
// только в конце будет вылезать на одно число за диапазон или наоборот не влезать, но дело поправимое, что-нибудь придумаю
if (start % 2 == 0) {
first = 'четное ';
second = 'нечетное ';
} else {
first = 'нечетное ';
second = 'четное ';
}
for (i = start; i <= end; i += 2) {
console.log(first + i);
console.log(second + (i + 1));
}
// чтобы конец диапазона был правильный можно делать что-то такое
if (start % 2 != 0 && end % 2 != 0) {console.log('нечетное ', end)}
//если не влезает последнее четное - делаем такой же вариант для четного
num2 = +prompt("Введите конец диапазона");
if (num1 > num2) {
start = num2;
end = num1;
}
else if (num2 > num1) {
start = num1;
end = num2;
} else {
start = num1;
end = num1;
}
/// вместо всего того что у вас идет дальше делаем так
// только в конце будет вылезать на одно число за диапазон или наоборот не влезать, но дело поправимое, что-нибудь придумаю
if (start % 2 == 0) {
first = 'четное ';
second = 'нечетное ';
} else {
first = 'нечетное ';
second = 'четное ';
}
for (i = start; i <= end; i += 2) {
console.log(first + i);
console.log(second + (i + 1));
}
// чтобы конец диапазона был правильный можно делать что-то такое
if (start % 2 != 0 && end % 2 != 0) {console.log('нечетное ', end)}
//если не влезает последнее четное - делаем такой же вариант для четного
const [start, end] = [num1, num2].sort()
const numbers = new Array(end - start + 1).fill(0).map((_,i)=> start + i);
const oddNumbers = numbers.filter(n => n % 2);
console.log(oddNumbers.join(', '));
const numbers = new Array(end - start + 1).fill(0).map((_,i)=> start + i);
const oddNumbers = numbers.filter(n => n % 2);
console.log(oddNumbers.join(', '));
там нужен один цикл остальные лишние так как если чесло не четное то оно точно будет нечётным т е не нужно проверять сто раз. одним циклом бегаешь по диапазону и проверяешь если остаток от деления нацело = ноль то это четное иначе не четное, все
Alt + f4
Похожие вопросы
- Для чего нужен цикл for...of, если есть цикл for...in
- Когда использовать цикл for, а когда while?
- Цикл For. Почему получается 165? Объясните по-человечески пж
- Сравниваю циклы while и for и хочу понять разницу между ними. Они выполняют условно одно и тоже. Это вся разница?
- Напишите код, который выводит фигуры с помощью цикла
- Проблема с решением задачи (циклы)
- Для чего практически нужен цикл в языках программирования javascript, php ?
- Как сделать проверку через бесконечный цикл?
- Почему цикл while не останавливается когда i=0 ?
- Помогите разобраться в логике кода (замыкания)
for (i = start; i < end; i += 2) {
console.log(first + i);
console.log(second + (i + 1));
}
if (start % 2 != 0 && end % 2 != 0) {console.log('нечетное ', end)}