Я пытаюсь найти простое число в списке, используя Sieve of Eratosthenes. Я попытался это:Итерация через меняющийся список с Linq
var primeNumber = new List<int>(Enumerable.Range(2, max - 1));
primeNumber.ForEach(m => primeNumber.RemoveAll(n => n % m == 0));
, но он не работает, так как вы не можете итерацию по списку, который меняется. Есть ли лучший способ, чем создание другого массива и итерация через него, поскольку мне нужно только перебирать пронумерованное число? Со вторым массивом я бы удалил все, что можно разделить на 2, а затем удалить все, что можно разделить на 4 (их не должно быть) и т. Д.
Спасибо, что уже за ваши ответы.
Не используйте списки для сита Эратосфена, используйте бит-массивы. – starblue