エラトステネスのふるいを使用して、リスト内の素数を見つけようとしています。私はこれを試しました:
var primeNumber = new List<int>(Enumerable.Range(2, max - 1));
primeNumber.ForEach(m => primeNumber.RemoveAll(n => n % m == 0));
しかし、変化しているリストを反復できないため、うまくいきませんでした。素数を繰り返し処理するだけでよいので、別の配列を作成してそれを繰り返し処理するよりも良い方法はありますか? 2 番目の配列では、2 で割り切れるすべてのものを削除してから、4 で割り切れるすべてのものを削除します (存在しないはずです)。