michael@0: // The Great Computer Language Shootout michael@0: // http://shootout.alioth.debian.org/ michael@0: // michael@0: // modified by Isaac Gouy michael@0: michael@0: function pad(number,width){ michael@0: var s = number.toString(); michael@0: var prefixWidth = width - s.length; michael@0: if (prefixWidth>0){ michael@0: /* BEGIN LOOP */ michael@0: for (var i=1; i<=prefixWidth; i++) s = " " + s; michael@0: /* END LOOP */ michael@0: } michael@0: return s; michael@0: } michael@0: michael@0: function nsieve(m, isPrime){ michael@0: var i, k, count; michael@0: michael@0: /* BEGIN LOOP */ michael@0: for (i=2; i<=m; i++) { isPrime[i] = true; } michael@0: /* END LOOP */ michael@0: count = 0; michael@0: michael@0: /* BEGIN LOOP */ michael@0: for (i=2; i<=m; i++){ michael@0: if (isPrime[i]) { michael@0: /* BEGIN LOOP */ michael@0: for (k=i+i; k<=m; k+=i) isPrime[k] = false; michael@0: /* END LOOP */ michael@0: count++; michael@0: } michael@0: } michael@0: /* END LOOP */ michael@0: return count; michael@0: } michael@0: michael@0: function sieve() { michael@0: /* BEGIN LOOP */ michael@0: for (var i = 1; i <= 3; i++ ) { michael@0: var m = (1<