1
0

aoc 2017 (day 1-6)

This commit is contained in:
2020-01-13 12:57:50 +01:00
parent 3968a11fa6
commit 4da4c47915
28 changed files with 2164 additions and 50 deletions

View File

@@ -0,0 +1,36 @@
#!/usr/bin/env python3
import aoc
import math
# https://stackoverflow.com/questions/10094745
def spiralpos(n):
k = math.ceil((math.sqrt(n) - 1) / 2)
t = 2 * k + 1
m = t ** 2
t -= 1
if n >= m - t:
return k - (m - n), -k
m -= t
if n >= m - t:
return -k, -k + (m - n)
m -= t
if n >= m - t:
return -k + (m - n), k
return k, k - (m - n - t)
rawinput = aoc.read_input(3)
intinput = int(rawinput)
x, y = spiralpos(intinput)
print(abs(x) + abs(y))