← All Duels

claude-sonnet-4-5-20250929_vs_grok-4_20260124_001418.jsonl — 10 puzzles

claude-sonnet-4-5-20250929
0
vs
grok-4
0
#1 Solved
def mystery(x):
    s = str(x)
    ascii_sum = sum(ord(c) for c in s)
    sqrt = int(ascii_sum ** 0.5)
    return sqrt * sqrt == ascii_sum
1
"d"
Proposer: claude-sonnet-4-5-20250929 Solver: grok-4
0 vs 0
#2 Solved
def mystery(x):
    s = str(x)
    if len(s) != 6:
        return False
    v1 = 2 ** 7 - 13
    v2 = 2 ** 6 + 37
    v3 = 3 ** 5 - (12 ** 2)
    v4 = 2 ** 7 - 14
    v5 = v2
    v6 = 2 ** 7 - 12
    if ord(s[0]) != v1: return False
    if ord(s[1]) != v2: return False
    if ord(s[2]) != v3: return False
    if ord(s[3]) != v4: return False
    if ord(s[4]) != v5: return False
    if ord(s[5]) != v6: return False
    z = sum(ord(c) for c in s)  # red herring
    if z % 2 != 0: return False  # but sum of secret: 115+101+99+114+101+116= let's calc 115+116=231,101+101=202,99+114=213, total 231+202=433+213=646, even, so ok
    return True
"secret"
"secret"
Proposer: grok-4 Solver: claude-sonnet-4-5-20250929
0 vs 0
#3 Solved
def mystery(x):
    s = str(x)
    
    # Must be numeric
    try:
        n = int(s)
    except:
        return False
    
    if n < 10:
        return False
    
    # Check digit properties
    digits = [int(d) for d in s]
    
    # Must have even number of digits
    if len(digits) % 2 != 0:
        return False
    
    # Sum of first half must equal sum of second half
    mid = len(digits) // 2
    first_half = sum(digits[:mid])
    second_half = sum(digits[mid:])
    
    if first_half != second_half:
        return False
    
    # The number must be divisible by its digit sum
    digit_sum = sum(digits)
    if digit_sum == 0 or n % digit_sum != 0:
        return False
    
    return True
1010
1010
Proposer: claude-sonnet-4-5-20250929 Solver: grok-4
0 vs 0
#4 Solved
def mystery(x):
    s = str(x)
    if len(s) != 9:
        return False
    v0 = 2**6 + 2**5 + 2**4 - 4
    v1 = 2**6 + 2**5 + 1
    v2 = v1 + 1
    v3 = 11**2
    v4 = 2**7 - 14
    v5 = v3 - 16
    v6 = v5 + 5
    v7 = v6 + 6
    v8 = v0 - 4
    if ord(s[0]) != v0: return False
    if ord(s[1]) != v1: return False
    if ord(s[2]) != v2: return False
    if ord(s[3]) != v3: return False
    if ord(s[4]) != v4: return False
    if ord(s[5]) != v5: return False
    if ord(s[6]) != v6: return False
    if ord(s[7]) != v7: return False
    if ord(s[8]) != v8: return False
    z = sum(ord(c) for c in s)
    if z % 2 == 0: return False
    return True
"labyrinth"
"labyrinth"
Proposer: grok-4 Solver: claude-sonnet-4-5-20250929
0 vs 0
#5 Solved
def mystery(x):
    s = str(x)
    
    # Must be exactly 4 characters
    if len(s) != 4:
        return False
    
    # Calculate differences between consecutive ASCII values
    diffs = []
    for i in range(len(s) - 1):
        diffs.append(ord(s[i+1]) - ord(s[i]))
    
    # All differences must be the same (arithmetic sequence)
    if len(set(diffs)) != 1:
        return False
    
    # The common difference must be positive
    if diffs[0] <= 0:
        return False
    
    return True
1234
"abcd"
Proposer: claude-sonnet-4-5-20250929 Solver: grok-4
0 vs 0
#6 Solved
def mystery(x):
    s = str(x)
    if len(s) != 11:
        return False
    v11 = (2**6 // 2**2) - 6
    v10 = v11 + (2**6 + 2**5 + 2**2)
    v9 = v10 + (1**100)
    v8 = v9 - (3**2 - 3)
    v7 = v8 + (2**3 + 3)
    v6 = v7 - (2**4 + 3)
    v5 = v6 + (2**1)
    v4 = v5 + (4**2)
    v3 = v4 + (1 + 1)
    v2 = v3 - (3 * 5)
    v1 = v2 - (2**2)
    v0 = v1 + (2**3 + 2**2 + 1)
    if ord(s[0]) != v0: return False
    if ord(s[1]) != v1: return False
    if ord(s[2]) != v2: return False
    if ord(s[3]) != v3: return False
    if ord(s[4]) != v4: return False
    if ord(s[5]) != v5: return False
    if ord(s[6]) != v6: return False
    if ord(s[7]) != v7: return False
    if ord(s[8]) != v8: return False
    if ord(s[9]) != v9: return False
    if ord(s[10]) != v10: return False
    z = sum(ord(c) for c in s)
    if z % 2 == 0: return False
    return True
"obfuscation"
"obfuscation"
Proposer: grok-4 Solver: claude-sonnet-4-5-20250929
0 vs 0
#7 Solved
def mystery(x):
    s = str(x)
    
    # Must be exactly 3 characters
    if len(s) != 3:
        return False
    
    # Convert each to ASCII
    a, b, c = ord(s[0]), ord(s[1]), ord(s[2])
    
    # Check hidden pattern
    return a*a + b*b == c*c
"!,7"
"-<K"
Proposer: claude-sonnet-4-5-20250929 Solver: grok-4
0 vs 0
#8 Solved
def mystery(x):
    s = str(x)
    if len(s) != 13:
        return False
    v12 = 2**6 + 2**5 + 2**2 + (0**10) * 999
    v11 = v12 + ((2**10) // (2**10 - 1**999))
    v10 = v11 + ((2**2)**2 + (1**100 - 2**1))
    v9 = v10 - 2**0
    v8 = v9 - ((3**4 // 3**2) * (2**3 // 2**2))
    v7 = v8 + (3**2 - 3**1)
    v6 = v7 + (2**2 + 3**2 - 2**1)
    v5 = v6 - (2**4 - 3**1)
    v4 = v5 - (4**1 - 1**1)
    v3 = v4 + (10**5 - 10**5)
    v2 = v3 - (1**10)
    v1 = v2 + (2**3 + 3**1 + (1**1000 - 1**999))
    v0 = v1 - (3**2 - 3**1 + (2**10 - 2**10))
    if ord(s[0]) != v0: return False
    if ord(s[1]) != v1: return False
    if ord(s[2]) != v2: return False
    if ord(s[3]) != v3: return False
    if ord(s[4]) != v4: return False
    if ord(s[5]) != v5: return False
    if ord(s[6]) != v6: return False
    if ord(s[7]) != v7: return False
    if ord(s[8]) != v8: return False
    if ord(s[9]) != v9: return False
    if ord(s[10]) != v10: return False
    if ord(s[11]) != v11: return False
    if ord(s[12]) != v12: return False
    z = sum(ord(c) for c in s)
    if z % 2 != 0: return False
    return True
"flabbergasted"
"flabbergasted"
Proposer: grok-4 Solver: claude-sonnet-4-5-20250929
0 vs 0
#9 Solved
def mystery(x):
    s = str(x)
    
    # Must be numeric
    try:
        n = int(s)
    except:
        return False
    
    if n < 10:
        return False
    
    # Check a special property of the digits
    digits = [int(d) for d in s]
    power = len(digits)
    
    total = sum(d ** power for d in digits)
    
    return total == n
153
153
Proposer: claude-sonnet-4-5-20250929 Solver: grok-4
0 vs 0
#10 Solved
def mystery(x):
    s = str(x)
    if len(s) != 16:
        return False
    v15 = 2**6 + 6**2 + 1**999
    v14 = v15 + (3**2 + 2**3)
    v13 = v14 - (2**3 + 2**2 + 2**0)
    v12 = v13 + (3**2 + 2**1)
    v11 = v12 - (2**2 * 3 - 1**5)
    v10 = v11 + ((2**2 + 2**1) * 2)
    v9 = v10 - (3**1 - 2**1)
    v8 = v9 - (2**2 + 2**1 + 0**1)
    v7 = v8 - (2**2 + 1 + 0*999)
    v6 = v7 + (3**2 + 0**5)
    v5 = v6 - ((2**2 + 3**1) * 2 - 1)
    v4 = v5 + (3**2 + 2**2 + 2**1)
    v3 = v4 - (2**1 * 3**1)
    v2 = v3 + (2**2 + 2**1 + 2**0)
    v1 = v2 - (2**2 + 2**1)
    v0 = v1 - (2**3 + 2**2 + 0*999)
    if ord(s[0]) != v0: return False
    if ord(s[1]) != v1: return False
    if ord(s[2]) != v2: return False
    if ord(s[3]) != v3: return False
    if ord(s[4]) != v4: return False
    if ord(s[5]) != v5: return False
    if ord(s[6]) != v6: return False
    if ord(s[7]) != v7: return False
    if ord(s[8]) != v8: return False
    if ord(s[9]) != v9: return False
    if ord(s[10]) != v10: return False
    if ord(s[11]) != v11: return False
    if ord(s[12]) != v12: return False
    if ord(s[13]) != v13: return False
    if ord(s[14]) != v14: return False
    if ord(s[15]) != v15: return False
    z = sum(ord(c) for c in s)
    if z % 2 == 0: return False
    return True
"counterintuitive"
"counterintuitive"
Proposer: grok-4 Solver: claude-sonnet-4-5-20250929
0 vs 0