← All Duels

claude-sonnet-4-6_vs_gemini-3.1-pro-preview.jsonl — 10 puzzles

claude-sonnet-4-6
0
vs
gemini-3.1-pro-preview
1
#1 Solved
def mystery(x):
    if not isinstance(x, int) or x <= 0:
        return False
    n, seen = x, set()
    while n not in seen:
        seen.add(n)
        n = sum(int(d) ** 2 for d in str(n))
    return n == 1 and len(seen) == 7
469
356
Proposer: claude-sonnet-4-6 Solver: gemini-3.1-pro-preview
0 vs 0
#2 Solved
def mystery(x):
    if not isinstance(x, str):
        return False
    if len(x) != 16:
        return False
    if not set(x).issubset('0123456789+*'):
        return False
    if sorted(c for c in x if c.isdigit()) != list('0123456789'):
        return False
    if x.count('+') != 4 or x.count('*') != 2:
        return False
    
    import re
    if re.search(r'\b0\d', x):
        return False
        
    try:
        return eval(x) == 2024
    except Exception:
        return False
"12+54*37+6+8+9*0"
'98*20+7*6+15+4+3'
Proposer: gemini-3.1-pro-preview Solver: claude-sonnet-4-6
0 vs 0
#3 Solved
def mystery(x):
    import math

    if not isinstance(x, int) or x <= 0:
        return False

    def is_prime(n):
        if n < 2: return False
        if n == 2: return True
        if n % 2 == 0: return False
        for i in range(3, int(n**0.5) + 1, 2):
            if n % i == 0: return False
        return True

    if not (1000 <= x <= 9999):
        return False

    root = math.isqrt(x)
    if root * root != x:
        return False

    if not is_prime(root):
        return False

    digit_sum = sum(int(d) for d in str(x))
    ds_root = math.isqrt(digit_sum)
    if ds_root * ds_root != digit_sum:
        return False

    rev_x = int(str(x)[::-1])
    if not is_prime(rev_x):
        return False

    return True
1681
1681
Proposer: claude-sonnet-4-6 Solver: gemini-3.1-pro-preview
0 vs 0
#4 Solved
def mystery(x):
    if not isinstance(x, str):
        return False
    if len(x) > 25:
        return False
    if not set(x).issubset(set('12+*D-')):
        return False
        
    stack = []
    for c in x:
        if c == '1':
            stack.append(1)
        elif c == '2':
            stack.append(2)
        elif c == '+': 
            if len(stack) < 2:
                return False
            stack.append(stack.pop() + stack.pop())
        elif c == '*':
            if len(stack) < 2:
                return False
            stack.append(stack.pop() * stack.pop())
        elif c == '-':
            if len(stack) < 2:
                return False
            a = stack.pop()
            b = stack.pop()
            stack.append(b - a)
        elif c == 'D':
            if not stack:
                return False
            stack.append(stack[-1])
        else:
            return False
            
    return len(stack) == 1 and stack[0] == 34359738371
"2D*D*D*D*D*2D+D+*11+1++"
"2D*D*D*D*2*D*2*21++"
Proposer: gemini-3.1-pro-preview Solver: claude-sonnet-4-6
0 vs 0
#5 Solved
def mystery(x):
    if not isinstance(x, int) or x <= 0:
        return False

    s = str(x)
    if len(s) != 4:
        return False

    # Gate A
    n, d = x, 2
    while d * d <= n:
        if n % d == 0:
            return False
        d += 1 if d == 2 else 2

    # Gate B
    rep = bin(x)[2:]
    if rep != rep[::-1]:
        return False

    # Gate C
    sigma = sum(int(c) for c in s)
    d = 2
    while d * d <= sigma:
        if sigma % d == 0:
            return False
        d += 1 if d == 2 else 2

    return True
1453
1619
Proposer: claude-sonnet-4-6 Solver: gemini-3.1-pro-preview
0 vs 0
#6 Solver Failed
def mystery(x):
    if not isinstance(x, str):
        return False
    if len(x) > 100:
        return False
    if not set(x).issubset({'L', 'R'}):
        return False
        
    p, q = 1, 1
    for move in x:
        if move == 'L':
            p += q
        elif move == 'R':
            q += p
            
    return p == 5225670 and q == 7489051
"LLLLLLLLLRRRRRRRRRLLLLLLLLRRRRRRRLLLLLLLRRRRRLLLLRRRLLR"
"LLLLLLLLLRRRRRRRRRLLLLLLLLRRRRRRRLLLLLLRRRRRLLLLRRRLLR"
Proposer: gemini-3.1-pro-preview Solver: claude-sonnet-4-6
0 vs 1
#7 Solved
def mystery(x):
    if not isinstance(x, int) or x <= 0:
        return False

    def is_prime(n):
        if n < 2: return False
        for i in range(2, int(n**0.5) + 1):
            if n % i == 0: return False
        return True

    # Gate 1: x must be prime
    if not is_prime(x):
        return False

    # Gate 2: decimal representation must be a palindrome
    s = str(x)
    if s != s[::-1]:
        return False

    # Gate 3: base-3 representation must also be a palindrome
    n = x
    digits = []
    while n > 0:
        digits.append(n % 3)
        n //= 3
    b3 = digits[::-1]
    if b3 != b3[::-1]:
        return False

    # Gate 4: the length of the base-3 representation must be prime
    if not is_prime(len(b3)):
        return False

    return True
151
151
Proposer: claude-sonnet-4-6 Solver: gemini-3.1-pro-preview
0 vs 1
#8 Solved
def mystery(x):
    if not isinstance(x, str):
        return False
    if len(x) != 80:
        return False
    if not set(x).issubset({'1', '2', '3'}):
        return False
        
    a, b, c = 1, 1, 1
    for move in x:
        if move == '1':
            a = a + b + c
        elif move == '2':
            b = a + b + c
        elif move == '3':
            c = a + b + c
            
    return a == 34467261 and b == 376513861 and c == 3155241
"11111111112222222222333333333311111111112222222222333333333311111111112222222222"
"11111111112222222222333333333311111111112222222222333333333311111111112222222222"
Proposer: gemini-3.1-pro-preview Solver: claude-sonnet-4-6
0 vs 1
#9 Solved
def mystery(x):
    if not isinstance(x, str):
        return False
    if not all(c in 'AB' for c in x):
        return False
    if len(x) < 5 or len(x) > 30:
        return False

    a, b = 1, 1
    for c in x:
        if c == 'A':
            a, b = a + b, b
        else:
            a, b = a, a + b

    return a == 147 and b == 106
"AABBAABABBA"
"AABBAABABBA"
Proposer: claude-sonnet-4-6 Solver: gemini-3.1-pro-preview
0 vs 1
#10 Solved
def mystery(x):
    if not isinstance(x, str):
        return False
    
    # Must be reasonably short
    if len(x) > 60:
        return False
        
    # No standard quine cheats or introspections
    forbidden = ["eval", "exec", "import", "open", "read", "sys", "inspect", "__"]
    if any(f in x for f in forbidden):
        return False
    
    try:
        # x must evaluate to a callable (e.g., a lambda function)
        func = eval(x)
        
        # When called with no arguments, it must return its own source code
        return func() == x
    except Exception:
        return False
"lambda:(lambda s:s%s)('lambda:(lambda s:s%%s)(%r)')"
"(lambda:(lambda s:s%s)('(lambda:(lambda s:s%%s)(%r))'))"
Proposer: gemini-3.1-pro-preview Solver: claude-sonnet-4-6
0 vs 1