← All Duels

grok-4.20-0309-reasoning_vs_claude-haiku-4-5.jsonl — 10 puzzles

grok-4.20-0309-reasoning
-1
vs
claude-haiku-4-5
0
#1 Solved
def mystery(x):
    if not isinstance(x, str):
        return False
    key = 0x2a
    data = [0x41, 0x58, 0x53, 0x5a, 0x5e, 0x45, 0x44, 0x43, 0x5e, 0x4f]
    s = ''.join(chr(b ^ key) for b in data)
    return x == s
"kryptonite"
"kryptonite"
Proposer: grok-4.20-0309-reasoning Solver: claude-haiku-4-5
0 vs 0
#2 Solved
def mystery(x):
    if not isinstance(x, int):
        return False
    
    if x < 1 or x > 10000:
        return False
    
    # Calculate sum of proper divisors
    divisor_sum = 0
    for i in range(1, x):
        if x % i == 0:
            divisor_sum += i
    
    # Check if x is a perfect number greater than 10
    return divisor_sum == x and x > 10
28
28
Proposer: claude-haiku-4-5 Solver: grok-4.20-0309-reasoning
0 vs 0
#3 Sample Solution Wrong
def mystery(x):
    if not isinstance(x, str):
        return False
    key = 0x1337
    data = [0x46, 0xc6, 0x8d, 0xc0, 0xd2, 0x70, 0x30]
    s = ''
    for b in data:
        s += chr(b ^ (key % 256))
        key = (key * 17 + 13) % 65537
    return x == s
"quantum"
Proposer: grok-4.20-0309-reasoning Solver: claude-haiku-4-5
-1 vs 0
#4 Solved
def mystery(x):
    if not isinstance(x, int):
        return False
    
    if x < 10 or x > 1000000:
        return False
    
    import math
    digit_factorials_sum = sum(math.factorial(int(d)) for d in str(x))
    return x == digit_factorials_sum
145
145
Proposer: claude-haiku-4-5 Solver: grok-4.20-0309-reasoning
-1 vs 0
#5 Solved
def mystery(x):
    if not isinstance(x, str):
        return False
    if len(x) != 10:
        return False
    v = [ord(c) for c in x]
    key = 0x5a
    for i in range(10):
        v[i] ^= key
        key = (key * 37 + 13) % 256
    target = [0x32, 0x6e, 0x4a, 0x41, 0x16, 0xbe, 0x1e, 0xfb, 0xde, 0xa2]
    return v == target
"hardpuzzle"
"hardpuzzle"
Proposer: grok-4.20-0309-reasoning Solver: claude-haiku-4-5
-1 vs 0
#6 Solved
def mystery(x):
    if not isinstance(x, int) or x < 1 or x > 1000000:
        return False
    
    square_str = str(x * x)
    
    for split_pos in range(1, len(square_str)):
        left = int(square_str[:split_pos])
        right = int(square_str[split_pos:])
        
        if left > 0 and right > 0 and left + right == x:
            return True
    
    return False
45
45
Proposer: claude-haiku-4-5 Solver: grok-4.20-0309-reasoning
-1 vs 0
#7 Solved
def mystery(x):
    if not isinstance(x, str) or len(x) != 10:
        return False
    key = 0x1337
    data = [0x5a, 0xca, 0x9f, 0xda, 0xeb, 0x1f, 0x28, 0x3f, 0x21, 0xea]
    s = ''
    for b in data:
        s += chr(b ^ (key % 256))
        key = (key * 17 + 13) % 65537
    return x == s
"mysterious"
"mysterious"
Proposer: grok-4.20-0309-reasoning Solver: claude-haiku-4-5
-1 vs 0
#8 Solved
def mystery(x):
    if not isinstance(x, int):
        return False
    
    if x < 1 or x > 1000000:
        return False
    
    def is_happy(n):
        seen = set()
        while n != 1 and n not in seen:
            seen.add(n)
            n = sum(int(d) ** 2 for d in str(n))
        return n == 1
    
    return is_happy(x)
1
7
Proposer: claude-haiku-4-5 Solver: grok-4.20-0309-reasoning
-1 vs 0
#9 Solved
def mystery(x):
    if not isinstance(x, str) or len(x) != 11:
        return False
    key = 0x1234
    data = [0x5b, 0x80, 0xa1, 0xb5, 0x4a, 0x5d, 0xfb, 0x18, 0x94, 0xab, 0xef]
    s = ''
    for b in data:
        s += chr(b ^ (key % 256))
        key = (key * 19 + 7) % 65537
    return x == s
"obfuscation"
"obfuscation"
Proposer: grok-4.20-0309-reasoning Solver: claude-haiku-4-5
-1 vs 0
#10 Solved
def mystery(x):
    if not isinstance(x, int):
        return False
    
    if x < 1 or x > 1000000:
        return False
    
    # Get digits
    digits = [int(d) for d in str(x)]
    
    if len(digits) == 1:
        return False
    
    # Generate Fibonacci-like sequence
    sequence = digits[:]
    
    # Keep extending until we exceed x or find it
    while sequence[-1] < x:
        next_val = sum(sequence[-len(digits):])
        sequence.append(next_val)
    
    return x in sequence
19
197
Proposer: claude-haiku-4-5 Solver: grok-4.20-0309-reasoning
-1 vs 0