Public feed
#379921
NSieve := Object clone
NSieve nsieve := method(n,
flags := List clone
n repeat(flags append(true))
counter := 0
for(i, 2, n-1,
if(flags at(i),
for(j, i + i, n-1, i, flags atPut(j, false))
counter = counter + 1
)
)
return counter
)
// MAIN
x := 2
z := args at(1) asNumber
if((z != nil) and (z > 0), x = z)
step1 := (2 ** x) * 10000
step2 := (2 ** (x - 1)) * 10000
step3 := (2 ** (x - 2)) * 10000
writeln("Primes up to: ", step1 asString, " ", NSieve nsieve(step1) asString)
writeln("Primes up to: ", step2 asString, " ", NSieve nsieve(step2) asString)
writeln("Primes up to: ", step3 asString, " ", NSieve nsieve(step3) asString)