39 lines
827 B
JavaScript
39 lines
827 B
JavaScript
//@ skip if $model == "Apple Watch Series 3" # added by mark-jsc-stress-test.py
|
|
// The Great Computer Language Shootout
|
|
// http://shootout.alioth.debian.org/
|
|
//
|
|
// modified by Isaac Gouy
|
|
|
|
function *prime(m)
|
|
{
|
|
let isPrime = Array(m+1);
|
|
|
|
for (let i=2; i<=m; i++) { isPrime[i] = true; }
|
|
|
|
for (let i=2; i<=m; i++){
|
|
if (isPrime[i]) {
|
|
for (let k=i+i; k<=m; k+=i) isPrime[k] = false;
|
|
yield i;
|
|
}
|
|
}
|
|
}
|
|
|
|
function sieve() {
|
|
let sum = 0;
|
|
for (let i = 1; i <= 3; i++ ) {
|
|
let m = (1<<i)*10000;
|
|
let count = 0;
|
|
for (let primeNumber of prime(m)) {
|
|
count++;
|
|
}
|
|
sum += count;
|
|
}
|
|
return sum;
|
|
}
|
|
|
|
let result = sieve();
|
|
|
|
let expected = 14302;
|
|
if (result != expected)
|
|
throw "ERROR: bad result: expected " + expected + " but got " + result;
|