Вывод простых чисел. Или, что я делаю нетак?
for (var i=2; i<=10; i++) { var count = 0; for (var j=2; j<=i; j++) { if (i%j == 0) {continue;} else count += 1; } if (count == 2) document.write(i); } Выше скрипт, который как я понимаю должен выводить все простые числа имеющиеся в арсенале интервала от 2 до 10. Но в результате вижу лишь одну число и то шестерку. Подскажите, что я делаю не так? И как вывести все простые числа? |
Jimmi,
<script> for (var i=2; i<=10; i++) { var count = 0; for (var j=2; j<=i; j++) { if (i%j) {continue;} count += 1; } if (count == 1) document.write(i); } </script> <script> for (var i=2; i<=10; i++) { var count = 0; for (var j=2; j<i; j++) { if (i%j) {continue;} count += 1; } if (!count) document.write(i); } </script> <script> for (var i=2; i<=10; i++) { var count = 0; for (var j=1; j<=i; j++) { if (i%j) {continue;} count += 1; } if (count == 2) document.write(i); } </script> |
Спасибо. А можно узнать? Почему в условии if (i%j) не должно быть нуля?
|
Jimmi,
если i%j == 0 значит число разделилось без остатка и надо это запомнить в count+=1 ---- если есть остаток, ничего не запоминаем continue, пропускаем запись в счётчик делений count. простое число делится на себя и 1 - 3 вариант число может делиться только на себя (пропускаем деление на 1) - 1 вариант. пропускаем деление на 1 и на себя -- 2 вариант |
Ну в данный момент меня интересует именно третий вариант. Работа с типом простых чисел, где простое число делится только на единицу и на себя...
Цитата:
|
Jimmi,
if (i%j != 0) {continue;}тоже самое что if (i%j) {continue;} ваше условие было ошибочным --if (i%j == 0) {continue;} |
Часовой пояс GMT +3, время: 23:51. |