Страница 1 из 1

не могу понять как работает javascript

Добавлено: 02 авг 2013, 02:41
golferum
<script>
nextPrime:
for(var i=2; i<10; i++) {

for(var j=2; j<i; j++) {
if ( i % j == 0) continue nextPrime; // КАК ЭТО УСЛОВИЕ НЕ ПРОПУСКАЕТ ЧЕТВЕРКУ
}

alert(i); // простое
}

</script>

скрипт создан, чтобы выводить простые числа из диапозона 2..10, но не могу понять как он работает, ведь условие выполняется, 4%2 == 0? как он ее отсеевает?

Re: не могу понять как работает javascript

Добавлено: 02 авг 2013, 02:50
golferum
Аа, догнал, метка закрывает весь цикл вместе с alert, поэтому не выводит... Хитро сделано, я просто задачу в инэте нашел, решил я ее подругому, а именно вот так
<script>
var i,j,cop;

for (i = 2; i<30; i++)
{
cop=0;
for (j = 1; j<30; j++)
{if (i%j == 0) {cop++}};
if (cop == 2) {alert(i); continue} else continue;
};

</script>
использую переменную как копилку, чтобы подсчитывать количество делений числа, если не равно двум, то оно не простое, потому что простое делится только на себя или 1. Это плохой стиль программирования?))

Re: не могу понять как работает javascript

Добавлено: 02 авг 2013, 11:56
Хыиуду
Цикл совершенно спокойно можно начинать с двух: for (j=2; j<i; j++)
И проверять на if (cop==1). Потому что на единицу и так любое число делится.
Хотя в таком раскладе можно обойтись и без этого cop
{ if (i%j==0) continue;
alert (i);
}