我一直在努力通過項目歐拉Problem 27我的方式,但這似乎是困擾着我。首先,代碼運行時間太長(在我的機器上可能會有幾分鐘的時間,但更重要的是,它會返回錯誤的答案,儘管在查看一段時間後我發現算法沒有任何問題) 。 這裏是我的解決當前的代碼。 /// Checks number for primality.
let is_prime n =
[|1 .. 2 .. sqrt_int n
好吧中,所以也許我不應該SOOO多縮水這個問題......我看到的the most efficient way to find the first 10000 primes職。我在尋找所有可能的方式。目標是爲素質測試提供一站式服務。任何人都知道尋找素數的測試是受歡迎的。 所以: 什麼都找到素數的不同方式?
我正在做一個項目,我需要一個有效的方法來計算素數。我已經使用sieve of Eratosthenes但是,我一直在四處搜索,發現sieve of Atkin是一種更有效的方法。我發現很難找到這種方法的解釋(我已經能夠理解!)。它是如何工作的?示例代碼(最好用C或python)很棒。 編輯:感謝您的幫助,我仍然不明白的唯一東西是x和y變量在僞代碼中引用的內容。有人可以幫我解釋一下嗎?
我正在嘗試使用Seq.cache函數,該函數返回的是質數序列,數字N不包括數字1.我無法確定如何保留在範圍中緩存的序列,但仍然在我的定義中使用它。 let rec primesNot1 n =
{2 .. n}
|> Seq.filter (fun i ->
(primesNot1 (i/2) |> Seq.for_all (fun o -> i % o <> 0)