-- Sieve Of Erathosthenes by Derek Parnell -- Language: Euphoria v3.1.1 (www.rapideuphoria.com) include get.e procedure eratosthenes(integer target) sequence sieve integer next_prime integer limit sieve = repeat(0, target) limit = floor(power(target, 0.5)) sieve[1] = 1 next_prime = 2 while next_prime <= target and next_prime != 0 do if next_prime <= limit then for i = next_prime + next_prime to target by next_prime do sieve[i] = 1 end for end if printf(1, "%d ", next_prime) next_prime = find_from(0, sieve, next_prime+1) end while return end procedure procedure main(sequence argv) integer n n = 50 if length(argv) >= 3 then argv = value(argv[3]) n = argv[2] end if eratosthenes(n) end procedure main( command_line() )