diff options
author | jack <[email protected]> | 2024-04-01 23:36:44 -0600 |
---|---|---|
committer | jack <[email protected]> | 2024-04-01 23:36:44 -0600 |
commit | 83515aae06ebbb55c18eaa2c49b8e3c0be8d7599 (patch) | |
tree | 41ad9705aff5642bc02f71482e8fba724eb7464c /tools/ackermann.py | |
parent | 907a432ce4b3bac3874d104c7981a8a5d90f399f (diff) | |
download | synacor_challenge-83515aae06ebbb55c18eaa2c49b8e3c0be8d7599.tar.gz synacor_challenge-83515aae06ebbb55c18eaa2c49b8e3c0be8d7599.zip |
add binary hexdump & improve puzzle tools
Diffstat (limited to 'tools/ackermann.py')
-rwxr-xr-x | tools/ackermann.py | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/tools/ackermann.py b/tools/ackermann.py deleted file mode 100755 index 01c90fa..0000000 --- a/tools/ackermann.py +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env python - - -def ackermann(a, b, c): - stack = [(a, b)] - res = 0 - while stack: - a, b = stack.pop() - if a == 0: - res = b + 1 - elif a == 1: - res = b + c + 1 - elif a == 2: - res = (b + 2) * c + (b + 1) - elif b == 0: - stack.append((a - 1, c)) - else: - stack.append((a, b - 1)) - stack.append((a - 1, b)) - return res - - -def check_ack(): - for i in range(32768): - print("checking:", i) - res = ackermann(4, 1, i) % 32768 - if res == 6: - return i - return -1 - - -if __name__ == "__main__": - res = check_ack() - print("magic number:", res) |