28 ms·
Here's my code golf attempt in C#. public static List<int> Sieve(int n) { bool[] arr = Enumerable.Range(0, n).Select(i => true).ToArray();
by snak 7y ago
Here's my code golf attempt in C#.
public static List<int> Sieve(int n)
{
bool[] arr = Enumerable.Range(0, n).Select(i => true).ToArray();
Enumerable
.Range(2, (int) Math.Sqrt(n) - 2)
.ToList()
.ForEach(i => { if (arr[i]) Enumerable.Range(0, (n - (i * i)) / i).ToList().ForEach(j => arr[j * i + (i * i)] = false); });
return arr.Select((b, i) => b ? i : 0).Where(i => i > 0).ToList();
}