我最近做了這一點的代碼,但不知道是否有更快的方法來找到質數(不是篩子;我仍然試圖做到這一點)。有什麼建議?我使用Python,而我對它很陌生。 def isPrime(input):
current = 0
while current < repetitions:
current = current + 2
if int(input) % current
program Primes(input,output);
var
candidates, primes : Array[0..999] of Integer;
n, i, j : Integer;
begin
for i := 0 to 999 do
begin
candidates[i] := 1;
end;
candi
對於項目歐拉我正在尋找一種方法來實施Eratosthenes篩,因爲我預計它比我的原始實施(並需要它是如此)更快。我想出了這個功能: sieve :: Int -> [Int] -> [Int]
sieve p (x:xs) | rem x p == 0 = sieve p xs
| otherwise = x : (sieve x $ sieve p xs)
sieve _
下面[Python的3.4]是一個簡單的埃拉託塞尼篩的程序: from itertools import *
def excl(ns,pr):
return (i for i in ns if i%pr)
def sieve(ns):
while True:
pr=next(ns)
yield pr
ns=excl(ns,pr)