Вывод простых чисел. Или, что я делаю нетак?
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, время: 01:57. |