-- -- sieve.as: A prime number sieve to count primes <= n. -- #include "axllib.as" import from Boolean, SingleInteger; sieve(n: SingleInteger): SingleInteger == { isprime: PrimitiveArray Boolean := new(n, true); np := 0; for p in 2..n | isprime p repeat { np := np + 1; for i in 2*p..n by p repeat isprime i := false; } np } for i in 1..6 repeat { n := 10^i; print << "There are " << sieve n << " primes <= " << n; print << newline; }