← All Duels

gemini-3.1-pro-preview_vs_claude-sonnet-4-6.jsonl — 10 puzzles

gemini-3.1-pro-preview
-1
vs
claude-sonnet-4-6
0
#1 Solved
def mystery(x):
    if type(x) is not int:
        return False
    if x < 10**20 or x >= 10**21:
        return False
    return int(str(x)[::-1]) == (x << 3) + x
109999999999999999989
109999999999999999989
Proposer: gemini-3.1-pro-preview Solver: claude-sonnet-4-6
0 vs 0
#2 Solved
def mystery(x):
    if not isinstance(x, int) or isinstance(x, bool) or x <= 0:
        return False
    s = str(x)
    n = len(s)
    if n < 7:
        return False
    if [s.count(str(k)) for k in range(n)] != [int(c) for c in s]:
        return False
    d = sum(int(c) for c in s)
    return d > 0 and int(d**0.5)**2 == d
521001000
521001000
Proposer: claude-sonnet-4-6 Solver: gemini-3.1-pro-preview
0 vs 0
#3 Solved
def mystery(x):
    if type(x) is not str:
        return False
    
    try:
        nums = [int(n) for n in x.split(',')]
    except ValueError:
        return False
    
    if sorted(nums) != list(range(1, 16)):
        return False
        
    return all(int((a + b)**0.5)**2 == a + b for a, b in zip(nums, nums[1:]))
"8,1,15,10,6,3,13,12,4,5,11,14,2,7,9"
"8,1,15,10,6,3,13,12,4,5,11,14,2,7,9"
Proposer: gemini-3.1-pro-preview Solver: claude-sonnet-4-6
0 vs 0
#4 Solved
def mystery(x):
    if type(x) is not int or x <= 0:
        return False

    s = str(x)

    # Must be exactly 7 digits
    if len(s) != 7:
        return False

    # Must be a perfect square
    r = int(x**0.5)
    sq_root = None
    for candidate in [r, r + 1]:
        if candidate * candidate == x:
            sq_root = candidate
            break
    if sq_root is None:
        return False

    # Square root must be prime
    def is_prime(k):
        if k < 2: return False
        if k == 2: return True
        if k % 2 == 0: return False
        i = 3
        while i * i <= k:
            if k % i == 0: return False
            i += 2
        return True

    if not is_prime(sq_root):
        return False

    # No zero digits allowed
    if '0' in s:
        return False

    # Product of digits must be a perfect cube
    product = 1
    for d in s:
        product *= int(d)

    cube_root = round(product ** (1 / 3))
    for c in range(max(1, cube_root - 2), cube_root + 3):
        if c ** 3 == product:
            return True

    return False
1261129
1423249
Proposer: claude-sonnet-4-6 Solver: gemini-3.1-pro-preview
0 vs 0
#5 Solved
def mystery(x):
    if not isinstance(x, str) or len(x) != 14:
        return False
        
    if set(x) != set("abcdefg"):
        return False
        
    distances = set()
    for char in "abcdefg":
        if x.count(char) != 2:
            return False
        first = x.find(char)
        last = x.rfind(char)
        distances.add(last - first)
        
    return distances == set(range(2, 9))
"gcfbecbdgfeada"
"egbcfbecdgafad"
Proposer: gemini-3.1-pro-preview Solver: claude-sonnet-4-6
0 vs 0
#6 Solved
def mystery(x):
    if not isinstance(x, int) or x <= 0:
        return False

    s = str(x)

    # Must use each digit 1 through 9 exactly once
    if len(s) != 9 or sorted(s) != list('123456789'):
        return False

    # The number formed by the first k digits must be divisible by k
    for k in range(1, 10):
        if int(s[:k]) % k != 0:
            return False

    return True
381654729
381654729
Proposer: claude-sonnet-4-6 Solver: gemini-3.1-pro-preview
0 vs 0
#7 Solved
def mystery(x):
    if type(x) is not str:
        return False
    
    try:
        nodes = [int(n) for n in x.split()]
    except ValueError:
        return False
        
    if len(nodes) != 24 or len(set(nodes)) != 24:
        return False
        
    if not all(0 <= n <= 144 for n in nodes):
        return False
        
    diffs = {abs(nodes[i] - nodes[j]) 
             for i in range(12) for j in range(12, 24)}
             
    return len(diffs) == 144 and max(diffs) == 144
"12 24 36 48 60 72 84 96 108 120 132 144 0 1 2 3 4 5 6 7 8 9 10 11"
"0 1 2 3 4 5 6 7 8 9 10 11 12 24 36 48 60 72 84 96 108 120 132 144"
Proposer: gemini-3.1-pro-preview Solver: claude-sonnet-4-6
0 vs 0
#8 Solved
def mystery(x):
    if not isinstance(x, int) or x <= 0:
        return False

    # Convert x to base 3
    def to_base3(n):
        digits = []
        while n > 0:
            digits.append(n % 3)
            n //= 3
        return digits[::-1] if digits else [0]

    base3 = to_base3(x)

    # Must have exactly 9 base-3 digits (i.e., 6561 <= x < 19683)
    if len(base3) != 9:
        return False

    # In base 3, the digits must use each of {0, 1, 2} exactly 3 times
    if base3.count(0) != 3 or base3.count(1) != 3 or base3.count(2) != 3:
        return False

    # x must be prime (in base 10)
    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 is_prime(x):
        return False

    # The product of x's base-10 digits must also be prime
    product = 1
    for d in str(x):
        product *= int(d)

    if not is_prime(product):
        return False

    # x must be congruent to 1 modulo 4
    if x % 4 != 1:
        return False

    return True
11113
11113
Proposer: claude-sonnet-4-6 Solver: gemini-3.1-pro-preview
0 vs 0
#9 Sample Solution Wrong
def mystery(x):
    if type(x) is not int:
        return False
    if x < 10**14 or x >= 10**15:
        return False
    return (x * x) % (10**15) == x
916168212890625
Proposer: gemini-3.1-pro-preview Solver: claude-sonnet-4-6
-1 vs 0
#10 Solved
def mystery(x):
    if not isinstance(x, int) or x <= 0:
        return False

    s = str(x)

    # Must be a 5-digit number
    if len(s) != 5:
        return False

    # No repeated digits
    if len(set(s)) != 5:
        return False

    # Must be a perfect square
    r = int(x**0.5)
    if r * r != x:
        r += 1
        if r * r != x:
            return False

    # Must be a multiple of 11
    if x % 11 != 0:
        return False

    # Digit sum must be prime
    digit_sum = sum(int(c) for c in s)

    def is_prime(n):
        if n < 2:
            return False
        if n == 2:
            return True
        if n % 2 == 0:
            return False
        i = 3
        while i * i <= n:
            if n % i == 0:
                return False
            i += 2
        return True

    return is_prime(digit_sum)
23716
23716
Proposer: claude-sonnet-4-6 Solver: gemini-3.1-pro-preview
-1 vs 0