This commit is contained in:
2017-12-25 23:22:40 +00:00
parent d5fbba3277
commit 47510ec0ff
24 changed files with 2002 additions and 0 deletions

32
day23/input.txt Normal file
View File

@ -0,0 +1,32 @@
set b 540
set c b
jnz a 2
jnz 1 5
mul b 100
sub b -100000
set c b
sub c -17000
set f 1
set d 2
set e 2
set g d
mul g e
sub g b
jnz g 2
set f 0
sub e -1
set g e
sub g b
jnz g -8
sub d -1
set g d
sub g b
jnz g -13
jnz f 2
sub h -1
set g b
sub g c
jnz g 2
jnz 1 3
sub b -17
jnz 1 -23

30
day23/part1.js Normal file
View File

@ -0,0 +1,30 @@
var pc = 0;
var registers = {a: 0, b: 0, c: 0, d: 0, e: 0, f: 0, g: 0, h: 0};
var instructions = require("fs").readFileSync("input.txt").toString().split("\n").filter((a)=>(a));
var numMul = 0;
while((pc >= 0) && (pc < instructions.length)){
val = a => ((isNaN(parseInt(a))) ? (registers[a]) : (parseInt(a)));
var instruction = instructions[pc];
var parts = instruction.split(" ");
var pcstart = pc;
switch(parts[0]){
case "set":
registers[parts[1]] = val(parts[2]);
break;
case "sub":
registers[parts[1]] -= val(parts[2]);
break;
case "mul":
numMul++;
registers[parts[1]] *= val(parts[2]);
break;
case "jnz":
if(val(parts[1]) != 0){
pc += (val(parts[2]) - 1);
}
break;
}
pc++;
}
console.log(numMul);
console.log(registers);

13
day23/part2.js Normal file
View File

@ -0,0 +1,13 @@
var num = 106700;
var end = 123700;
var numNotPrime = 0;
while(num <= end){
for(var i = 2; i <= Math.sqrt(num); i++){
if(num%i == 0){
i = num;
numNotPrime++;
}
}
num += 17;
}
console.log(numNotPrime);