← All Duels

claude-opus-4-7_vs_claude-haiku-4-5.jsonl — 10 puzzles

claude-opus-4-7
1
vs
claude-haiku-4-5
0
#1 Solved
def mystery(x):
    if not isinstance(x, str) or len(x) != 5:
        return False
    if sum(ord(c) for c in x) != 500:
        return False
    xor = 0
    for c in x:
        xor ^= ord(c)
    if xor != 66:
        return False
    if not x[0].isupper() or not x[0].isalpha():
        return False
    if not x[1:].islower() or not x[1:].isalpha():
        return False
    return x.count(x[2]) == 2
"Tddaw"
"Hello"
Proposer: claude-opus-4-7 Solver: claude-haiku-4-5
0 vs 0
#2 Solved
def mystery(x):
    if not isinstance(x, int) or x <= 0:
        return False
    
    s = str(x)
    # Must be a palindrome
    if s != s[::-1]:
        return False
    
    # Sum of digits must be prime
    digit_sum = sum(int(d) for d in s)
    if digit_sum < 2:
        return False
    for i in range(2, int(digit_sum**0.5) + 1):
        if digit_sum % i == 0:
            return False
    
    # x itself must also be prime
    if x < 2:
        return False
    for i in range(2, int(x**0.5) + 1):
        if x % i == 0:
            return False
    
    return True
11
101
Proposer: claude-haiku-4-5 Solver: claude-opus-4-7
0 vs 0
#3 Solved
def mystery(x):
    if not isinstance(x, str) or len(x) != 6:
        return False
    if not (x.islower() and x.isalpha()):
        return False
    if sum(ord(c) for c in x) != 600:
        return False
    xor_val = 0
    for c in x:
        xor_val ^= ord(c)
    if xor_val != 0:
        return False
    if len(set(x)) != 5:
        return False
    if x[0] != 'a':
        return False
    prod = 1
    for c in x:
        prod = (prod * ord(c)) % 1000
    if prod != 400:
        return False
    return True
"aadefg"
"aafgde"
Proposer: claude-opus-4-7 Solver: claude-haiku-4-5
0 vs 0
#4 Solved
def mystery(x):
    if not isinstance(x, str) or len(x) != 6:
        return False
    if not (x.islower() and x.isalpha()):
        return False
    if sum(ord(c) for c in x) != 682:
        return False
    xor_val = 0
    for c in x:
        xor_val ^= ord(c)
    if xor_val != 12:
        return False
    if x[0] != 'p':
        return False
    if x.count('z') != 2:
        return False
    if len(set(x)) != 5:
        return False
    if x[2] != 'z' or x[3] != 'z':
        return False
    if x[5] not in 'aeiou':
        return False
    return True
"plzzue"
"puzzle"
Proposer: claude-haiku-4-5 Solver: claude-opus-4-7
0 vs 0
#5 Solved
def mystery(x):
    if not isinstance(x, str) or len(x) != 6:
        return False
    if not (x.islower() and x.isalpha()):
        return False
    if sum(ord(c) for c in x) != 666:
        return False
    xor_val = 0
    for c in x:
        xor_val ^= ord(c)
    if xor_val != 6:
        return False
    if x[0] != 'h':
        return False
    if x[-1] != 'y':
        return False
    if x[2] != x[3]:
        return False
    if len(set(x)) != 5:
        return False
    return True
"haqqvy"
"hoiixy"
Proposer: claude-opus-4-7 Solver: claude-haiku-4-5
0 vs 0
#6 Solved
def mystery(x):
    if not isinstance(x, str) or len(x) != 8:
        return False
    if not (x.islower() and x.isalpha()):
        return False
    
    # ASCII sum must be 880
    if sum(ord(c) for c in x) != 880:
        return False
    
    # XOR of all characters must be 0
    xor_val = 0
    for c in x:
        xor_val ^= ord(c)
    if xor_val != 0:
        return False
    
    # Must have exactly 4 unique characters
    if len(set(x)) != 4:
        return False
    
    # Each unique character appears exactly twice
    char_counts = {}
    for c in x:
        char_counts[c] = char_counts.get(c, 0) + 1
    if not all(count == 2 for count in char_counts.values()):
        return False
    
    # First and last characters must be different
    if x[0] == x[-1]:
        return False
    
    # String must not be a palindrome
    if x == x[::-1]:
        return False
    
    # The sum of character codes at even indices must be 440
    if sum(ord(x[i]) for i in range(0, 8, 2)) != 440:
        return False
    
    return True
"llmmnnqq"
"aasnnsvv"
Proposer: claude-haiku-4-5 Solver: claude-opus-4-7
0 vs 0
#7 Solver Failed
def mystery(x):
    if not isinstance(x, str):
        return False
    if len(x) != 8:
        return False
    if not all('a' <= c <= 'z' for c in x):
        return False
    if x[0] != 'q' or x[-1] != 'z':
        return False
    if sum(ord(c) for c in x) != 923:
        return False
    h = 0
    for c in x:
        h = (h * 31 + ord(c)) % (10**9 + 7)
    return h == 538711494
"qurpsssz"
"qwertyuz"
Proposer: claude-opus-4-7 Solver: claude-haiku-4-5
1 vs 0
#8 Solved
def mystery(x):
    if not isinstance(x, int) or x <= 0:
        return False
    
    s = str(x)
    
    # Must be exactly 5 digits
    if len(s) != 5:
        return False
    
    # Must be a palindrome
    if s != s[::-1]:
        return False
    
    # Sum of digits must be divisible by 7
    digit_sum = sum(int(d) for d in s)
    if digit_sum % 7 != 0:
        return False
    
    # Product of digits must be divisible by 10
    digit_prod = 1
    for d in s:
        digit_prod *= int(d)
    if digit_prod % 10 != 0:
        return False
    
    # Number itself must be divisible by 11
    if x % 11 != 0:
        return False
    
    return True
57475
57475
Proposer: claude-haiku-4-5 Solver: claude-opus-4-7
1 vs 0
#9 Solved
def mystery(x):
    if not isinstance(x, str):
        return False
    if len(x) != 7:
        return False
    if not all('a' <= c <= 'z' for c in x):
        return False
    if x[0] != 'k':
        return False
    if sum(ord(c) for c in x) != 770:
        return False
    M = 2**31 - 1
    h1 = 0
    for c in x:
        h1 = (h1 * 37 + ord(c)) % M
    h2 = 0
    for c in reversed(x):
        h2 = (h2 * 53 + ord(c)) % M
    return h1 == 716904369 and h2 == 1557328318
"kittens"
"kittens"
Proposer: claude-opus-4-7 Solver: claude-haiku-4-5
1 vs 0
#10 Solved
def mystery(x):
    if not isinstance(x, int) or x < 1000 or x > 9999:
        return False
    
    # Must be odd
    if x % 2 == 0:
        return False
    
    # Must be a perfect square
    sqrt_x = int(x ** 0.5)
    if sqrt_x * sqrt_x != x:
        return False
    
    # Must be divisible by 17
    if x % 17 != 0:
        return False
    
    # Digits in decreasing order must be [7, 5, 2, 2]
    digits = sorted(str(x), reverse=True)
    if digits != ['7', '5', '2', '2']:
        return False
    
    return True
7225
7225
Proposer: claude-haiku-4-5 Solver: claude-opus-4-7
1 vs 0