瀏覽代碼

✂️

master
Roderic Day 5 年之前
父節點
當前提交
f2f41a647d
共有 2 個檔案被更改,包括 4 行新增12 行删除
  1. +2
    -9
      y2019/p07.py
  2. +2
    -3
      y2019/p12.py

+ 2
- 9
y2019/p07.py 查看文件

@@ -18,16 +18,9 @@ print(max(solve(ns, phases) for phases in permutations(range(5))))


def solve2(ns, phases):
feedback = []
iter_phases = iter(phases)
feedback = [0]
iter_feed = iter(feedback)
loop = cycle([
compute(ns, chain([next(iter_phases), 0], iter_feed)),
compute(ns, chain([next(iter_phases)], iter_feed)),
compute(ns, chain([next(iter_phases)], iter_feed)),
compute(ns, chain([next(iter_phases)], iter_feed)),
compute(ns, chain([next(iter_phases)], iter_feed)),
])
loop = cycle(compute(ns, chain([phase], iter_feed)) for phase in phases)
try:
for machine in loop:
feedback.append(next(machine))

+ 2
- 3
y2019/p12.py 查看文件

@@ -46,6 +46,5 @@ print(energy)
nX, _ = simulate(text, axes=slice(0, 1))
nY, _ = simulate(text, axes=slice(1, 2))
nZ, _ = simulate(text, axes=slice(2, 3))
gcds = {gcd(p, q) for p, q in itertools.combinations([nX, nY, nZ], 2)}
lcm = functools.reduce(int.__mul__, gcds)
print(nX * nY * nZ // lcm)
lcm = functools.reduce(lambda a, b: a * b // gcd(a, b), [nX, nY, nZ])
print(lcm)

Loading…
取消
儲存