Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Решето Эратосфена (https://javascript.ru/forum/misc/76550-resheto-ehratosfena.html)

shaverman 21.01.2019 22:16

Решето Эратосфена
 
Здравствуйте, совсем недавно начал изучать js, на глаза попалась очень интересная задачка, связанная с решетом Эратосфена.
Я попробовал написать решение.
let arrNumbers = [];
let flag;
let maxNumber = prompt("Введите число");
for(let i = 2; i < maxNumber; i++){
    flag = 0;
    if(i !== 2){
        for(let item of arrNumbers){
            if(!(i%item)){
                flag = 1;
		        break;
            }
        };
    }
    if(!flag){
        arrNumbers.push(i);
    }
}

Хотелось бы по возможности получить какие-нибудь рекомендации, вероятно, ее можно решить намного проще. Подскажите, пожалуйста.

рони 21.01.2019 22:32

shaverman,
попробуйте убрать flag

MallSerg 22.01.2019 18:55

Это хорошее решение. Наверно у тебя есть опыт на других языках программирования. Но это решение не имеемт отношения к решету Эрастофена. Ты просто ищеш простые числа пытаясь разделить текущее число без остатка на уже найденные простые числа. Это будет ужасно работать на больших числах но думаю до 10000 проблем быть не должно. Тебе нужно просто погуглить алгоритмы решения а на каком языке их реализовывать не так важно.

рони 22.01.2019 22:56

простые числа
 
по теме
https://javascript.ru/forum/misc/673...vascrit-2.html


Часовой пояс GMT +3, время: 22:13.