mirror of
https://bitbucket.org/smil3y/katie.git
synced 2025-02-27 12:22:57 +00:00
32 lines
653 B
JavaScript
32 lines
653 B
JavaScript
// The Great Computer Language Shootout
|
|
// http://shootout.alioth.debian.org
|
|
//
|
|
// Contributed by Ian Osgood
|
|
|
|
function pad(n,width) {
|
|
var s = n.toString();
|
|
while (s.length < width) s = ' ' + s;
|
|
return s;
|
|
}
|
|
|
|
function primes(isPrime, n) {
|
|
var i, count = 0, m = 10000<<n, size = m+31>>5;
|
|
|
|
for (i=0; i<size; i++) isPrime[i] = 0xffffffff;
|
|
|
|
for (i=2; i<m; i++)
|
|
if (isPrime[i>>5] & 1<<(i&31)) {
|
|
for (var j=i+i; j<m; j+=i)
|
|
isPrime[j>>5] &= ~(1<<(j&31));
|
|
count++;
|
|
}
|
|
}
|
|
|
|
function sieve() {
|
|
for (var i = 4; i <= 4; i++) {
|
|
var isPrime = new Array((10000<<i)+31>>5);
|
|
primes(isPrime, i);
|
|
}
|
|
}
|
|
|
|
sieve();
|