12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- // The Great Computer Language Shootout
- // http://shootout.alioth.debian.org/
- //
- // modified by Isaac Gouy
- function pad(number,width){
- var s = number.toString();
- var prefixWidth = width - s.length;
- if (prefixWidth>0){
- for (var i=1; i<=prefixWidth; i++) s = " " + s;
- }
- return s;
- }
- function nsieve(m, isPrime){
- var i, k, count;
- for (i=2; i<=m; i++) { isPrime[i] = true; }
- count = 0;
- for (i=2; i<=m; i++){
- if (isPrime[i]) {
- for (k=i+i; k<=m; k+=i) isPrime[k] = false;
- count++;
- }
- }
- return count;
- }
- function sieve() {
- var sum = 0;
- for (var i = 1; i <= 3; i++ ) {
- var m = (1<<i)*10000;
- var flags = Array(m+1);
- sum += nsieve(m, flags);
- }
- return sum;
- }
- var result = sieve();
- var expected = 14302;
- if (result != expected)
- throw "ERROR: bad result: expected " + expected + " but got " + result;
|