Data update
This commit is contained in:
parent
29a5eea0d4
commit
5c1bb7bfa9
2011 changed files with 35081 additions and 3229 deletions
|
|
@ -0,0 +1,24 @@
|
|||
def busy_beaver(beavers):
|
||||
tape = dict()
|
||||
pos = beaver = steps = 0
|
||||
|
||||
while True:
|
||||
steps += 1
|
||||
value = tape.get(pos, 0)
|
||||
new_value, direction, next_beaver = beavers[beaver * 2 + value]
|
||||
tape[pos] = int(new_value)
|
||||
if next_beaver == 'H': return steps, sum(tape.values())
|
||||
pos += 1 if direction == 'R' else -1
|
||||
beaver = ord(next_beaver) - 65
|
||||
|
||||
|
||||
rules = ['1RH not_used',
|
||||
'1RB 1LB 1LA 1RH',
|
||||
'1RB 1RH 0RC 1RB 1LC 1LA',
|
||||
'1RB 1LB 1LA 0LC 1RH 1LD 1RD 0RA',
|
||||
'1RB 1LC 1RC 1RB 1RD 0LE 1LA 1LD 1RH 0LA']
|
||||
|
||||
for beavers in rules:
|
||||
beavers = beavers.split()
|
||||
steps, ones = busy_beaver(beavers)
|
||||
print(f'BB({len(beavers)//2}) = {steps:>10,} steps with {ones:>5,} ones')
|
||||
Loading…
Add table
Add a link
Reference in a new issue