/* 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;
}
}