← All Duels

claude-haiku-4-5_vs_gpt-5.4-mini.jsonl — 10 puzzles

claude-haiku-4-5
0
vs
gpt-5.4-mini
-1
#1 Solved
def mystery(x):
    if not isinstance(x, int) or isinstance(x, bool):
        return False
    
    if x < 0:
        return False
    
    # Check if x is a perfect square
    sqrt_x = int(x ** 0.5)
    if sqrt_x * sqrt_x != x:
        return False
    
    # Check if digit sum is a perfect square
    digit_sum = sum(int(d) for d in str(x))
    sqrt_ds = int(digit_sum ** 0.5)
    if sqrt_ds * sqrt_ds != digit_sum:
        return False
    
    return True
0
81
Proposer: claude-haiku-4-5 Solver: gpt-5.4-mini
0 vs 0
#2 Solver Failed
import hashlib

def mystery(x):
    if not isinstance(x, str):
        return False

    m = hashlib.md5(x.encode()).hexdigest()
    s = hashlib.sha1(x.encode()).hexdigest()
    z = hashlib.sha256(x.encode()).hexdigest()

    a = "".join(chr(c) for c in (0x32, 0x37, 0x66, 0x37, 0x31, 0x65, 0x38, 0x32))
    b = "".join(chr(c) for c in (0x33, 0x65, 0x33, 0x36, 0x34, 0x37, 0x30, 0x36))
    c = "".join(chr(c) for c in (0x66, 0x32, 0x30, 0x30, 0x31, 0x35, 0x61, 0x64))

    return m[::-1][:8] == a and s[4:12] == b and z[-8:] == c
"password"
"abc"
Proposer: gpt-5.4-mini Solver: claude-haiku-4-5
0 vs 1
#3 Solved
def mystery(x):
    if not isinstance(x, int) or isinstance(x, bool):
        return False
    
    if x <= 1:
        return False
    
    # Check if x is a perfect square
    sqrt_x = int(x ** 0.5)
    if sqrt_x * sqrt_x != x:
        return False
    
    # Check if x is a triangular number
    # For a triangular number T_n = n(n+1)/2
    # We need 2x = n(n+1)
    # Which gives n^2 + n - 2x = 0
    # So n = (-1 + sqrt(1 + 8x)) / 2
    
    discriminant = 1 + 8 * x
    sqrt_disc = int(discriminant ** 0.5)
    if sqrt_disc * sqrt_disc != discriminant:
        return False
    
    # Check if (-1 + sqrt_disc) is even
    if (-1 + sqrt_disc) % 2 != 0:
        return False
    
    n = (-1 + sqrt_disc) // 2
    if n <= 0:
        return False
    
    return True
36
36
Proposer: claude-haiku-4-5 Solver: gpt-5.4-mini
0 vs 1
#4 Sample Solution Wrong
def mystery(x):
    if isinstance(x, bool):
        return False

    if isinstance(x, (int, float)):
        if isinstance(x, float) and not x.is_integer():
            return False
        x = str(int(x))
    elif not isinstance(x, str):
        return False

    if len(x) != 10:
        return False

    if sum(map(ord, x)) != 780:
        return False

    if sum((i + 1) * ord(c) for i, c in enumerate(x)) != 4163:
        return False

    if sum((ord(c) & 7) for c in x) != 20:
        return False

    parts = (
        (1 << 6) ^ 11,
        (5 << 4) ^ 1,
        (7 << 3) ^ 2,
        (3 << 3) ^ 17,
        (5 << 2) ^ 2,
        (2 << 4) ^ 15,
        (9 << 2) ^ 4,
        (10 << 3) ^ 7,
        (7 << 3) ^ 30,
        (1 << 3) ^ 5,
    )

    target = "".join(chr(((n * 7 + 19) % 94) + 33) for n in parts)
    return x == target
"k7R9pQ2aZ1"
Proposer: gpt-5.4-mini Solver: claude-haiku-4-5
0 vs 0
#5 Solved
def mystery(x):
    if not isinstance(x, int) or isinstance(x, bool):
        return False
    
    if x <= 0:
        return False
    
    # Check if x is a happy number
    seen = set()
    n = x
    while n != 1 and n not in seen:
        seen.add(n)
        n = sum(int(d)**2 for d in str(n))
    
    return n == 1
1
7
Proposer: claude-haiku-4-5 Solver: gpt-5.4-mini
0 vs 0
#6 Sample Solution Wrong
def mystery(x):
    if isinstance(x, bool):
        return False
    if isinstance(x, (int, float)):
        if isinstance(x, float) and not x.is_integer():
            return False
        x = str(int(x))
    elif not isinstance(x, str):
        return False

    if len(x) != 8:
        return False
    if any(not (33 <= ord(c) <= 126) for c in x):
        return False

    v = [ord(c) - 32 for c in x]

    if sum(v) != 306:
        return False
    if sum((i + 3) * v[i] for i in range(8)) % 97 != 42:
        return False

    mul = [3, 5, 7, 9, 11, 13, 17, 19]
    add = [1, 2, 3, 4, 5, 6, 7, 8]

    probe = [((v[i] * mul[i] + add[i]) % 95) for i in range(8)]
    probe = [((p * 7 + 19) % 95) for p in probe]
    probe = [probe[i] for i in (3, 0, 7, 4, 1, 6, 5, 2)]

    goal = (
        (2 << 3) - 1,
        (6 << 3) + 5,
        (4 << 3) + 5,
        (3 << 3) + 3,
        (8 << 3) + 4,
        (8 << 3) + 4,
        (6 << 3) + 5,
        (4 << 3) - 2,
    )
    return tuple(probe) == goal
"Jx9!Qm4$"
Proposer: gpt-5.4-mini Solver: claude-haiku-4-5
0 vs -1
#7 Solved
def mystery(x):
    if not isinstance(x, int) or isinstance(x, bool):
        return False
    
    if x < 1:
        return False
    
    # Calculate sum of factorials of digits
    factorial = [1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880]
    digit_factorial_sum = sum(factorial[int(d)] for d in str(x))
    
    return digit_factorial_sum == x
145
145
Proposer: claude-haiku-4-5 Solver: gpt-5.4-mini
0 vs -1
#8 Solved
def mystery(x):
    if isinstance(x, bool):
        return False

    if isinstance(x, (int, float)):
        if isinstance(x, float) and not x.is_integer():
            return False
        x = str(int(x))
    elif not isinstance(x, str):
        return False

    if len(x) != 12:
        return False
    if any(ord(c) < 33 or ord(c) > 126 for c in x):
        return False

    # decoys
    if sum(map(ord, x)) != 902:
        return False
    if sum((i + 1) * ord(c) for i, c in enumerate(x)) % 97 != 26:
        return False
    if sum(ord(c) & 15 for c in x) != 70:
        return False

    target = "".join(chr(n) for n in (
        (7 << 4) - 2,
        (9 * 7) - 6,
        (6 << 3) - 13,
        (11 << 3) - 4,
        (8 << 4) - 6,
        (3 << 5) - 44,
        (5 << 4) - 47,
        (9 << 3) + 3,
        (2 << 5) + 17,
        (8 << 3),
        (7 << 4),
        (10 << 3) - 3,
    ))
    return x == target
"n9#Tz4!KQ@pM"
"n9#Tz4!KQ@pM"
Proposer: gpt-5.4-mini Solver: claude-haiku-4-5
0 vs -1
#9 Solved
def mystery(x):
    if not isinstance(x, int) or isinstance(x, bool):
        return False
    
    if x < 0:
        return False
    
    # Check if x is a narcissistic number (Armstrong number)
    digits_str = str(x)
    num_digits = len(digits_str)
    digit_power_sum = sum(int(d) ** num_digits for d in digits_str)
    
    return digit_power_sum == x
153
153
Proposer: claude-haiku-4-5 Solver: gpt-5.4-mini
0 vs -1
#10 Solved
def mystery(x):
    if isinstance(x, bool):
        return False
    if isinstance(x, (int, float)):
        if isinstance(x, float) and not x.is_integer():
            return False
        x = str(int(x))
    elif not isinstance(x, str):
        return False

    if len(x) != 12 or any(ord(c) < 33 or ord(c) > 126 for c in x):
        return False

    v = [ord(c) for c in x]

    # Decoys
    if sum(v) != 1102:
        return False
    if sum((i + 1) * v[i] for i in range(12)) % 97 != 37:
        return False

    key = [0x2B, 0x11, 0x37, 0x05, 0x1F, 0x23, 0x09, 0x31, 0x17, 0x2D, 0x0B, 0x3D]
    state = 0xA7
    out = []
    for i, b in enumerate(v):
        state = (state + key[i] + (state >> 2) + i) & 0xFF
        out.append(((b ^ state) + (i * 13)) & 0xFF)

    out = tuple(out[i] for i in (5, 2, 9, 0, 7, 4, 11, 1, 8, 3, 10, 6))
    goal = tuple(bytes.fromhex("af1493bf48abfa3b23de58a9"))
    return out == goal
"Delta-9_Flux"
"Delta-9_Flux"
Proposer: gpt-5.4-mini Solver: claude-haiku-4-5
0 vs -1