March 2014 update

This commit is contained in:
Ingy döt Net 2014-04-02 16:56:35 +00:00
parent 09687c4926
commit a25938f123
1846 changed files with 21876 additions and 5203 deletions

View file

@ -1,11 +1,6 @@
(function(){var doors = [], n = 100, i, j;
for (i = 1; i <= n; i++) {
for (j = i; j <= n; j += i) {
doors[j] = !doors[j];
}
for (var door = 1; door <= 100; i++) {
var sqrt = Math.sqrt(door);
if (sqrt === (sqrt | 0)) {
console.log("Door %d is open", door);
}
}
for (i = 1 ; i <= n ; i++) {
if (doors[i]) console.log("Door " + i + " is open");
}}())

View file

@ -1,19 +1,9 @@
var
n = 100,
doors = [n],
step,
idx;
// now, start opening and closing
for (step = 1; step <= n; step += 1)
for (idx = step; idx <= n; idx += step)
// toggle state of door
doors[idx] = !doors[idx];
Array.apply(null, { length: 100 })
.map(function(v, i) { return i + 1; })
.forEach(function(door) {
var sqrt = Math.sqrt(door);
// find out which doors are open
var open = doors.reduce(function(open, val, idx) {
if (val) {
open.push(idx);
}
return open;
}, []);
document.write("These doors are open: " + open.join(', '));
if (sqrt === (sqrt | 0)) {
console.log("Door %d is open", door);
}
});

View file

@ -0,0 +1,9 @@
Array.apply(null, { length: 100 })
.map((v, i) => i + 1)
.forEach(door => {
var sqrt = Math.sqrt(door);
if (sqrt === (sqrt | 0)) {
console.log("Door %d is open", door);
}
});

View file

@ -0,0 +1,9 @@
// Array comprehension style
[ for (i of Array.apply(null, { length: 100 })) i ].forEach((_, i) => {
var door = i + 1
var sqrt = Math.sqrt(door);
if (sqrt === (sqrt | 0)) {
console.log("Door %d is open", door);
}
});