/* Sieve of Erasthosenes (sic) prime number generator -- DRH */ /* import java.util.Vector; */ public class Sieve { private int _limit; private char _is_prime[]; public Sieve(int limit) { _limit = limit; _is_prime = new char[_limit]; return; } public void prime() { int i; int j; int ix; ix = (int) (Math.sqrt((double) _limit)) + 1 ; for (i = 0; i < _limit; i++) { _is_prime[i] = 0; } _is_prime[0] = 1; _is_prime[1] = 1; for (i = 2; i < ix; i++) { if (_is_prime[i] == 0) { for (j = i + 1; j < _limit; j++) { if ((j % i) == 0) { _is_prime[j] = 1; } } } } for (i = 0; i < _limit; i++) { if (_is_prime[i] == 0) { System.out.println(i); } } } public static void main (String args[]) { if (args.length != 1) { System.out.println ("Usage: sieve"); return; } Sieve sieve = new Sieve(Integer.parseInt(args[0])); sieve.prime(); return; } }