master
Alfred Melch 6 years ago
parent d0c834969b
commit 9eb1eb185d

@ -0,0 +1,31 @@
state = [3, 7]
puzzle_in = 77201
elf_1 = 0
elf_2 = 1
def print_state():
out = ''
for i, el in enumerate(state):
if i == elf_1:
out += '(' + str(el) + ')'
elif i == elf_2:
out += '[' + str(el) + ']'
else:
out += ' ' + str(el) + ' '
print(out)
while len(state) < puzzle_in + 10:
val_1 = state[elf_1]
val_2 = state[elf_2]
state.extend([ int(x) for x in list(str(val_1 + val_2)) ])
elf_1 = (1 + elf_1 + val_1) % len(state)
elf_2 = (1 + elf_2 + val_2) % len(state)
# print_state()
print(''.join([str(x) for x in state[puzzle_in:puzzle_in + 10]]))

@ -0,0 +1,43 @@
state = [3, 7]
puzzle_in = '077201'
elf_1 = 0
elf_2 = 1
def print_state():
out = ''
for i, el in enumerate(state):
if i == elf_1:
out += '(' + str(el) + ')'
elif i == elf_2:
out += '[' + str(el) + ']'
else:
out += ' ' + str(el) + ' '
print(out)
while 1:
val_1 = state[elf_1]
val_2 = state[elf_2]
state.extend([ int(x) for x in list(str(val_1 + val_2)) ])
test_1 = state[-6:]
test_2 = state[-7:-1]
# print(''.join([str(x) for x in test_1]), ''.join([str(x) for x in test_2]), puzzle_in)
if ''.join([str(x) for x in test_1]) == puzzle_in:
res = len(state) - 6
break
if ''.join([str(x) for x in test_2]) == puzzle_in:
res = len(state) - 7
break
elf_1 = (1 + elf_1 + val_1) % len(state)
elf_2 = (1 + elf_2 + val_2) % len(state)
# print_state()
print(res)
Loading…
Cancel
Save