2015 Day 25 Python
This commit is contained in:
parent
9ebd9303ad
commit
7a364ab9bb
|
@ -0,0 +1,28 @@
|
|||
import re
|
||||
|
||||
with open('day25-input', 'r') as file:
|
||||
line = file.read().strip()
|
||||
r, c = [int(x) for x in re.findall('row (\d+).*column (\d+)', line)[0]]
|
||||
print(r, c)
|
||||
|
||||
starting_value = 20151125
|
||||
|
||||
def get_value(index: int) -> int:
|
||||
value = starting_value
|
||||
for _ in range(1, index):
|
||||
value = (value * 252533) % 33554393
|
||||
return value
|
||||
|
||||
def fib(x: int) -> int:
|
||||
value = 1
|
||||
for i in range(1, x):
|
||||
value += i
|
||||
return value
|
||||
|
||||
def get_value_rc(row: int, column: int) -> int:
|
||||
stripe_row = row + column - 1
|
||||
stripe_row_idx = fib(stripe_row)
|
||||
return get_value(stripe_row_idx + column - 1)
|
||||
|
||||
print(f'Test: value at row 6, column 6 is {get_value_rc(6, 6)}')
|
||||
print(f'Part 1: value at row {r}, column {c} is {get_value_rc(r, c)}')
|
Loading…
Reference in New Issue