adventofcode-2016/day19/part2_pattern.js
2016-12-20 22:04:35 +00:00

27 lines
536 B
JavaScript

function getEnd(length){
var elves = [];
for(var i = 0; i < length; i++){
elves.push(i+1);
}
var i = 0;
while(elves.length > 1){
if(!(elves.length%1000)) console.log(elves.length)
var toRemove = Math.floor((i + (elves.length/2)))%(elves.length)
//console.log(i, elves[i], elves[toRemove], elves);
elves.splice(toRemove, 1);
if(toRemove > i){
i = (i+1)%elves.length;
}
else{
i = i%elves.length;
}
}
return elves[0];
}
for(var i = 0; i < 500; i++){
console.log(i, getEnd(i), getEnd(i) - getEnd(i-1));
}