Вывести простые числа

122
11 июля 2019, 15:40

nextPrime: 
  for (var i = 2; i <= 10; i++) { 
 
    for (var j = 2; j < i; j++) { 
      if (i % j == 0) continue nextPrime; 
    } 
 
    alert( i ); // простое 
  } 
   
  

В где ошибка ? 1 цикл i == 2; 2 цикл j == 2; j < i будет false условие не выполнится(условия выполняется когда true) почему тогда выводятся простые числа ?

Answer 1

В цикле ошибки нет, условие не проходит и в цикл не входит, просто после второго for сразу идёт alert, который и выводит число 2, потому что оно не прошло проверку деления на себя же (по той, причине, которую сами и описали). Тем более 2 - это простое число. Если вам не нужна двойка, просто начните первый цикл с 3.

nextPrime: 
  for (let i = 3; i <= 10; i++) { 
 
    for (let j = 2; j < i; j++) { 
      if (i % j == 0) continue nextPrime; 
    } 
 
    console.log( i ); // простое 
  } 
   
  

READ ALSO
Как сделать что бы текст не переносился?

Как сделать что бы текст не переносился?

есть простой тестовый блокКоторый имеет width 0 но при клике добавление класса у него появляется width 40%

131
Есть ли ленивые регулярные выражения в JS

Есть ли ленивые регулярные выражения в JS

Есть два блока, идущих друг за другом:

137
collapse для html

collapse для html

Есть html-страница, сохраненная из браузераНа ней используется collapse(аккордеон)

156