Найти все меньшие n простые числа, используя решето Эратосфена - C#
Формулировка задачи:
Дано натуральное число n (n≥2). Найти все меньшие n простые числа, используя решето Эратосфена. Решетом Эратосфена называют следующий способ. Выпишем подряд все целые числа от 2 до n. Первое простое число 2. Подчеркнем его, а все большие числа, кратные 2, зачеркнем. Первое из оставшихся чисел 3. Подчеркнем его как простое, а все большие числа, кратные, 3, зачеркнем. Первое число из оставшихся теперь 5, так как 4 уже зачеркнуто. Подчеркнем его как простое, а все большие числа, кратные 5 зачеркнем и т.д.:2, 3, 4,5, 6,7, 8, 9, 10, ... Исходную последовательность чисел организовать в виде однонаправленного списка. Удаление производить внутри этого списка, не используя дополнительные списки.
Help заранее спасибо
Решение задачи: «Найти все меньшие n простые числа, используя решето Эратосфена»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
public static void Main(string[] args)
{
int n = Int32.Parse(Console.ReadLine());
List<int> list = Enumerable.Range(2, n - 2).ToList<int>();
for (int i = 0; i < list.Count; i++)
for (int j = list.Count - 1; j > i; j--)
if (list[j] % list[i] == 0)
list.RemoveAt(j);
foreach (int i in list)
Console.Write(i);
Console.ReadKey();
}
}