Выведите чётные числа

117
17 мая 2019, 10:50

for (var i = 1; i <= 10; i++) { 
  if (i % 2 == 1) continue 
  alert(i) 
}

Такое решение допустимо ?

Answer 1
  • Допустимое решение - решение, которое правильно решает поставленную задачу со всеми ограничениями, которые наложены в условии задачи
  • Оптимальное решение - допустимое решение, которое потребляет минимальный объем критических ресурсов (памяти, времени, ...)

Ваше решение является допустимым. Как и десяток других. Например, такое

for (var i = 1; i <= 10; i++) {
  if (i % 2 == 0)
    alert(i)
}

А вот оптимальным будет такое

let min = 1; 
let max = 10; 
if (min % 2 == 1) 
  min++; 
 
for (var i = min; i <= max; i += 2) { 
  console.log(i) 
}

Answer 2

Допустимо, конечно, но как-то нелогично - ищем НЕчетные числа, чтобы потом пропустить вывод числа. Результат хоть и одинаковый, но логика совсем не та.

На самом-то деле надо искать четные числа и выводить их:

for (var i = 1; i <= 10; i++) { 
  if (i % 2 == 0) alert(i) 
}

Answer 3

Если код должен выполниться всего и если он точно вам больше не пригодится, то

for (let i = 1; i <= n; i++) { 
  if (i % 2 == 0) alert(i); 
}

В ином случае, если его нужно переиспользовать, или число может измениться динамически, то

function even(n) { 
  let nums = []; 
  for (let i = 1; i <= n; i++) { 
    if (i % 2 == 0) nums.push(i); 
  } 
  return nums.join(''); 
} 
alert(even(10));

READ ALSO
Как разбить код на модули?

Как разбить код на модули?

Изучаю модули javascript

217
Duplicate entry &#39;test@test.com&#39; for key &#39;users_email_unique&#39;

Duplicate entry 'test@test.com' for key 'users_email_unique'

Laravel 55 + AjaxRegister При регистрации пользователей иногда натыкаюсь на такую ошибку в логах:

130
Не могу подключиться к базе данных в IntelliJ IDEA

Не могу подключиться к базе данных в IntelliJ IDEA

Подчёркивает строчку ClassforName("com

163