Add 2019 solutions
This commit is contained in:
parent
43a2ee8414
commit
4d5c8ee8ce
27 changed files with 3198 additions and 0 deletions
|
@ -0,0 +1,41 @@
|
|||
let program = [1,0,0,3,1,1,2,3,1,3,4,3,1,5,0,3,2,10,1,19,1,5,19,23,1,23,5,27,1,27,13,31,1,31,5,35,1,9,35,39,2,13,39,43,1,43,10,47,1,47,13,51,2,10,51,55,1,55,5,59,1,59,5,63,1,63,13,67,1,13,67,71,1,71,10,75,1,6,75,79,1,6,79,83,2,10,83,87,1,87,5,91,1,5,91,95,2,95,10,99,1,9,99,103,1,103,13,107,2,10,107,111,2,13,111,115,1,6,115,119,1,119,10,123,2,9,123,127,2,127,9,131,1,131,10,135,1,135,2,139,1,10,139,0,99,2,0,14,0]
|
||||
|
||||
|
||||
|
||||
func run(a: Int, b: Int) -> Int {
|
||||
var memory = program
|
||||
|
||||
memory[1] = a
|
||||
memory[2] = b
|
||||
|
||||
var pc = 0
|
||||
|
||||
loop: while(true) {
|
||||
switch memory[pc] {
|
||||
case 1:
|
||||
memory[memory[pc + 3]] = memory[memory[pc + 1]] + memory[memory[pc + 2]]
|
||||
|
||||
case 2:
|
||||
memory[memory[pc + 3]] = memory[memory[pc + 1]] * memory[memory[pc + 2]]
|
||||
|
||||
case 99:
|
||||
break loop
|
||||
|
||||
default:
|
||||
fatalError()
|
||||
|
||||
}
|
||||
pc += 4
|
||||
}
|
||||
|
||||
return memory[0]
|
||||
}
|
||||
|
||||
for a in 0...99 {
|
||||
for b in 0...99 {
|
||||
if run(a: a, b: b) == 19690720 {
|
||||
print (100 * a + b)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue