| # Python 3.7 | |||||
| def main(debug): | |||||
| instrs = "" | |||||
| if debug: | |||||
| instrs = "1,1,1,4,99,5,6,0,99" | |||||
| else: | |||||
| with open("02in.txt","r") as file: | |||||
| instrs = file.readline() | |||||
| instrs.strip('\n') | |||||
| ints = [int(x) for x in instrs.split(',')] | |||||
| if not debug: | |||||
| ints[1] = 12 | |||||
| ints[2] = 2 | |||||
| i = 0 | |||||
| while ints[i] != 99: | |||||
| if ints[i] == 1: | |||||
| v = ints[ints[i+1]] + ints[ints[i+2]] | |||||
| if ints[i] == 2: | |||||
| v = ints[ints[i+1]] * ints[ints[i+2]] | |||||
| ints[ints[i+3]] = v | |||||
| i += 4 | |||||
| print(ints) | |||||
| if __name__ == "__main__": | |||||
| main(False) |
| # Python 3.7 | |||||
| import copy | |||||
| def main(): | |||||
| instrs = "" | |||||
| with open("02in.txt","r") as file: | |||||
| instrs = file.readline() | |||||
| instrs.strip('\n') | |||||
| ints = [int(x) for x in instrs.split(',')] | |||||
| default_ints = copy.deepcopy(ints) | |||||
| for j in range(100): | |||||
| for k in range(100): | |||||
| ints = copy.deepcopy(default_ints) | |||||
| ints[1] = j | |||||
| ints[2] = k | |||||
| i = 0 | |||||
| while ints[i] != 99: | |||||
| if ints[i] == 1: | |||||
| v = ints[ints[i+1]] + ints[ints[i+2]] | |||||
| if ints[i] == 2: | |||||
| v = ints[ints[i+1]] * ints[ints[i+2]] | |||||
| ints[ints[i+3]] = v | |||||
| i += 4 | |||||
| if ints[0] == 19690720: | |||||
| print((100*j) + k) | |||||
| return | |||||
| if __name__ == "__main__": | |||||
| main() |
| 1,0,0,3,1,1,2,3,1,3,4,3,1,5,0,3,2,1,6,19,1,19,6,23,2,23,6,27,2,6,27,31,2,13,31,35,1,9,35,39,2,10,39,43,1,6,43,47,1,13,47,51,2,6,51,55,2,55,6,59,1,59,5,63,2,9,63,67,1,5,67,71,2,10,71,75,1,6,75,79,1,79,5,83,2,83,10,87,1,9,87,91,1,5,91,95,1,95,6,99,2,10,99,103,1,5,103,107,1,107,6,111,1,5,111,115,2,115,6,119,1,119,6,123,1,123,10,127,1,127,13,131,1,131,2,135,1,135,5,0,99,2,14,0,0 |