Решето Эратосфена
Здравствуйте, совсем недавно начал изучать 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); } } Хотелось бы по возможности получить какие-нибудь рекомендации, вероятно, ее можно решить намного проще. Подскажите, пожалуйста. |
shaverman,
попробуйте убрать flag |
Это хорошее решение. Наверно у тебя есть опыт на других языках программирования. Но это решение не имеемт отношения к решету Эрастофена. Ты просто ищеш простые числа пытаясь разделить текущее число без остатка на уже найденные простые числа. Это будет ужасно работать на больших числах но думаю до 10000 проблем быть не должно. Тебе нужно просто погуглить алгоритмы решения а на каком языке их реализовывать не так важно.
|
простые числа
|
Часовой пояс GMT +3, время: 22:13. |