Я изучаю PLINQ. Я попробовал на примере, приведенном на сайте. Однако я вижу, что результат неверен и также меняется, когда я повторно запускаю программу много раз. Сначала он не дает всех простых чисел, а во-вторых, он дает только 9591 случайных простых чисел.Результат PLINQ неверен и варьируется в зависимости от пробега
IEnumerable<int> numbers = Enumerable.Range (3, 100000-3);
var parallelQuery =
from n in numbers.AsParallel()
where Enumerable.Range (2, (int) Math.Sqrt (n)).All (i => n % i > 0)
select n;
int[] primes = parallelQuery.ToArray();
Цените любую помощь!
В каком он варьируется? Порядок чисел может отличаться, потому что вы не сортируете их. – Kaerber
От 3 до (100000-3) есть простые числа более 9591, но это показывает только 9591 простых чисел, а не отдых. –
Вы не включаете 2, посмотрите мой ответ. – Kaerber