// -*- mode: java -*- // $Id: sieve.njs,v 1.1 2001/07/08 20:20:06 doug Exp $ // http://www.bagley.org/~doug/shootout/ // from: David Hedbor // modified by Aldo Calpini <dada@perl.it> for Win32 var flags, flagsorig = Array(8193); var n, i, k, count; ARGS = WScript.Arguments; if(ARGS.length > 0) { n = parseInt(ARGS.Item(0), "10"); if(n < 1) n = 1; } else { n = 1; } for (i = 2; i <= 8192; i++) { flagsorig[i] = 1; } while (n--) { count = 0; flags = flagsorig.concat(); for (i = 2; i <= 8192; i++) { if (flags[i]) { for (k=i+i; k <= 8192; k+=i) flags[k] = 0; count++; } } } WScript.Echo("Count:", count);