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