Eratosthenes 的篩子
Julia 的餘數運算子是%
運算子。此運算子的行為類似於使用 C 和 C++等語言的%
。a % b
是將 a
劃分為 b
後留下的簽名餘數。
此運算子對於實現某些演算法非常有用,例如以下 Eratosthenes 篩選的實現。
iscoprime(P, i) = !any(x -> i % x == 0, P)
function sieve(n)
P = Int[]
for i in 2:n
if iscoprime(P, i)
push!(P, i)
end
end
P
end
用法:
julia> sieve(20)
8-element Array{Int64,1}:
2
3
5
7
11
13
17
19