1 // The Great Computer Language Shootout 2 // http://shootout.alioth.debian.org/ 3 // 4 // modified by Isaac Gouy 5 6 function pad(number,width){ 7 var s = number.toString(); 8 var prefixWidth = width - s.length; 9 if (prefixWidth>0){ 10 for (var i=1; i<=prefixWidth; i++) s = " " + s; 11 } 12 return s; 13 } 14 15 function nsieve(m, isPrime){ 16 var i, k, count; 17 18 for (i=2; i<=m; i++) { isPrime[i] = true; } 19 count = 0; 20 21 for (i=2; i<=m; i++){ 22 if (isPrime[i]) { 23 for (k=i+i; k<=m; k+=i) isPrime[k] = false; 24 count++; 25 } 26 } 27 return count; 28 } 29 30 function sieve() { 31 for (var i = 1; i <= 3; i++ ) { 32 var m = (1<<i)*10000; 33 var flags = Array(m+1); 34 nsieve(m, flags); 35 } 36 } 37 38 sieve(); 39