Sieve of Eratosthenes: Difference between revisions

Content added Content deleted
imported>Polarit
Line 11,519: Line 11,519:
{{trans|D}}
{{trans|D}}
<syntaxhighlight lang="langur">val .sieve = f(.limit) {
<syntaxhighlight lang="langur">val .sieve = f(.limit) {
if .limit < 2 {
if .limit < 2: return []
return []
}


var .composite = arr .limit, false
var .composite = arr .limit, false
.composite[1] = true
.composite[1] = true


for .n in 2 to truncate(.limit ^/ 2) + 1 {
for .n in 2 .. truncate(.limit ^/ 2) + 1 {
if not .composite[.n] {
if not .composite[.n] {
for .k = .n^2; .k < .limit; .k += .n {
for .k = .n^2 ; .k < .limit ; .k += .n {
.composite[.k] = true
.composite[.k] = true
}
}