0
我正在學習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