More 19
This commit is contained in:
parent
b5e0e6ca59
commit
033bad07ca
15
day19/part2_3.js
Normal file
15
day19/part2_3.js
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
var num = 3012210;
|
||||||
|
var power = Math.log(num) / Math.log(3);
|
||||||
|
var rangeStart = Math.pow(3, Math.floor(power));
|
||||||
|
var rangeEnd = Math.pow(3, Math.ceil(power));
|
||||||
|
var rangeMid = (rangeStart + rangeEnd)/2;
|
||||||
|
var finalElf = 0;
|
||||||
|
console.log(rangeStart, rangeMid, rangeEnd);
|
||||||
|
if(num > rangeMid){
|
||||||
|
finalElf += (rangeMid - rangeStart);
|
||||||
|
finalElf += (num - rangeMid) * 2;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
finalElf += (num - rangeStart);
|
||||||
|
}
|
||||||
|
console.log(finalElf);
|
26
day19/part2_pattern.js
Normal file
26
day19/part2_pattern.js
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
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));
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user