private static IEnumerable <int> FirstPrivateNumbers(int N) { return(Enumerable.Range(2, PrimeTool.nth_prime_upper(N)) .AsParallel() .WithDegreeOfParallelism(Environment.ProcessorCount) .WithExecutionMode(ParallelExecutionMode.ForceParallelism) .WithMergeOptions(ParallelMergeOptions.NotBuffered) // remove order dependancy .Where(x => PrimeTool.IsPrime(x)) .TakeWhile((n, index) => index < N) .OrderBy(x => x).Take(500)); }
private static string FirstPrimeNumbers(int count) { StringBuilder sb = new StringBuilder(); int i = 2; int k; for (k = 1; k <= count;) { bool prime = PrimeTool.IsPrime(i); if (prime) { sb.Append(" " + i); k++; } i++; } Console.WriteLine($"The count is {k - 1}"); return(sb.ToString()); }