| // $Id: sieve.java,v 1.1 2004-05-23 07:14:28 bfulgham Exp $ |
| // http://www.bagley.org/~doug/shootout/ |
| |
| public class sieve { |
| public static void main(String args[]) { |
| int NUM = Integer.parseInt(args[0]); |
| boolean [] flags = new boolean[8192 + 1]; |
| int count = 0; |
| while (NUM-- > 0) { |
| count = 0; |
| for (int i=2; i <= 8192; i++) { |
| flags[i] = true; |
| } |
| for (int i=2; i <= 8192; i++) { |
| if (flags[i]) { |
| // remove all multiples of prime: i |
| for (int k=i+i; k <= 8192; k+=i) { |
| flags[k] = false; |
| } |
| count++; |
| } |
| } |
| } |
| System.out.print("Count: " + count + "\n"); |
| } |
| } |
| |