Day 16 part 2 (WIP)
This commit is contained in:
parent
2d21081532
commit
5bde897f48
|
@ -4,7 +4,19 @@ import math
|
||||||
def main():
|
def main():
|
||||||
with open("day16.txt", "rt") as input_file:
|
with open("day16.txt", "rt") as input_file:
|
||||||
inputs = [int(i) for i in input_file.read().rstrip()]
|
inputs = [int(i) for i in input_file.read().rstrip()]
|
||||||
|
inputs_orig = inputs.copy()
|
||||||
|
|
||||||
|
# result = phaze2phaze(inputs)
|
||||||
|
# print(f"First 8 digits: {''.join(str(int(i)) for i in result[:8])}")
|
||||||
|
|
||||||
|
# Part 2
|
||||||
|
offset = int(''.join(str(i) for i in inputs[:7]))
|
||||||
|
inputs = [i for _ in range(10000) for i in inputs_orig]
|
||||||
|
result = phaze2phaze(inputs)
|
||||||
|
print(f"8 digits at offset: {''.join(str(int(i)) for i in result[offset:offset + 8])}")
|
||||||
|
|
||||||
|
|
||||||
|
def phaze2phaze(inputs):
|
||||||
p = [0, 1, 0, -1]
|
p = [0, 1, 0, -1]
|
||||||
for phase_id in range(100):
|
for phase_id in range(100):
|
||||||
phase_id += 1
|
phase_id += 1
|
||||||
|
@ -19,7 +31,7 @@ def main():
|
||||||
out = sum(a * b for a, b in zip(inputs, ex_p))
|
out = sum(a * b for a, b in zip(inputs, ex_p))
|
||||||
outputs[index] = abs(math.fmod(out, 10))
|
outputs[index] = abs(math.fmod(out, 10))
|
||||||
inputs = outputs
|
inputs = outputs
|
||||||
print(f"First 8 digits: {''.join(str(int(i)) for i in inputs[:8])}")
|
return inputs
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
Loading…
Reference in a new issue