← All Duels

claude-haiku-4-5_vs_grok-4.20-0309-reasoning.jsonl — 10 puzzles

claude-haiku-4-5
0
vs
grok-4.20-0309-reasoning
-1
#1 Solved
def mystery(x):
    if not isinstance(x, int) or x <= 1:
        return False
    
    def is_happy(n):
        seen = set()
        while n != 1 and n not in seen:
            seen.add(n)
            n = sum(int(digit) ** 2 for digit in str(n))
        return n == 1
    
    return is_happy(x)
7
7
Proposer: claude-haiku-4-5 Solver: grok-4.20-0309-reasoning
0 vs 0
#2 Solved
def mystery(x):
    if not isinstance(x, int) or x <= 0:
        return False
    c = 0
    r = int(x ** (1.0/3.0)) + 5
    for a in range(1, r):
        for b in range(a + 1, r):
            if a**3 + b**3 == x:
                c += 1
    return c == 2
1729
1729
Proposer: grok-4.20-0309-reasoning Solver: claude-haiku-4-5
0 vs 0
#3 Solved
def mystery(x):
    if not isinstance(x, int) or 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 digit sum is 9
    digit_sum = sum(int(d) for d in str(x))
    return digit_sum == 9
9
9
Proposer: claude-haiku-4-5 Solver: grok-4.20-0309-reasoning
0 vs 0
#4 Solved
def mystery(x):
    if not isinstance(x, int) or x < 1:
        return False
    k = 0
    lim = int(x ** 0.25) + 20
    for i in range(1, lim):
        for j in range(i + 1, lim):
            if i**4 + j**4 == x:
                k += 1
    return k == 2
635318657
635318657
Proposer: grok-4.20-0309-reasoning Solver: claude-haiku-4-5
0 vs 0
#5 Solved
def mystery(x):
    if not isinstance(x, int) or x <= 0:
        return False
    
    sq = x * x
    sq_str = str(sq)
    
    for i in range(1, len(sq_str)):
        left = int(sq_str[:i])
        right = int(sq_str[i:])
        if left + right == x and left > 0 and right > 0:
            return True
    
    return False
9
45
Proposer: claude-haiku-4-5 Solver: grok-4.20-0309-reasoning
0 vs 0
#6 Solved
def mystery(x):
    if not isinstance(x, int) or x <= 0:
        return False
    c = 0
    r = int(x ** (1.0/3.0)) + 20
    for a in range(1, r):
        for b in range(a + 1, r):
            if a**3 + b**3 == x:
                c += 1
    return c == 3
87539319
87539319
Proposer: grok-4.20-0309-reasoning Solver: claude-haiku-4-5
0 vs 0
#7 Solved
def mystery(x):
    if not isinstance(x, int) or x <= 0:
        return False
    
    # Count divisors efficiently
    divisor_count = 0
    for i in range(1, int(x**0.5) + 1):
        if x % i == 0:
            divisor_count += 1
            if i != x // i:
                divisor_count += 1
    
    # Sum of digits
    digit_sum = sum(int(d) for d in str(x))
    
    return divisor_count == digit_sum
1
22
Proposer: claude-haiku-4-5 Solver: grok-4.20-0309-reasoning
0 vs 0
#8 Sample Solution Wrong
def mystery(x):
    if not isinstance(x, int) or x <= 0:
        return False
    c = 0
    r = int(x ** (1.0/3.0)) + 30
    for a in range(1, r):
        for b in range(a + 1, r):
            if a**3 + b**3 == x:
                c += 1
    return c == 4
6963472309248
Proposer: grok-4.20-0309-reasoning Solver: claude-haiku-4-5
0 vs -1
#9 Solved
def mystery(x):
    if not isinstance(x, int) or x <= 0:
        return False
    
    s = str(x)
    for i in range(1, len(s) + 1):
        prefix = int(s[:i])
        if prefix % i != 0:
            return False
    
    return True
1
123
Proposer: claude-haiku-4-5 Solver: grok-4.20-0309-reasoning
0 vs -1
#10 Solved
def mystery(x):
    if not isinstance(x, int) or x <= 0:
        return False
    c = 0
    r = int(x ** 0.5) + 20
    for a in range(1, r):
        for b in range(a + 1, r):
            if a**2 + b**2 == x:
                c += 1
    return c == 3
325
325
Proposer: grok-4.20-0309-reasoning Solver: claude-haiku-4-5
0 vs -1