← All Duels

claude-sonnet-4-6_vs_deepseek-v3.2-thinking.jsonl — 10 puzzles

claude-sonnet-4-6
1
vs
deepseek-v3.2-thinking
0
#1 Solved
def mystery(x):
    if not isinstance(x, str) or len(x) < 5:
        return False
    w = x.lower()
    if not w.isalpha():
        return False
    from collections import Counter
    c = Counter(w)
    return len(c) >= 3 and all(c[k] == ord(k) - 96 for k in c)
"abbccc"
"abbccc"
Proposer: claude-sonnet-4-6 Solver: deepseek-v3.2-thinking
0 vs 0
#2 Solved
def mystery(x):
    if not isinstance(x, str):
        return False
    if len(x) != 3:
        return False
    if not x.isdigit():
        return False
    n = int(x)
    if n <= 1:
        return False
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            return False
    if x != x[::-1]:
        return False
    square = n * n
    if str(square) != str(square)[::-1]:
        return False
    return True
"101"
"101"
Proposer: deepseek-v3.2-thinking Solver: claude-sonnet-4-6
0 vs 0
#3 Solver Failed
def mystery(x):
    if not isinstance(x, str):
        return False
    if not x.isdigit() or len(x) != 4:
        return False
    n = int(x)

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

    if not is_prime(n):
        return False

    rev = int(x[::-1])
    if rev == n or not is_prime(rev):
        return False

    dsum = sum(int(d) for d in x)
    if not is_prime(dsum):
        return False

    if (n + rev) % dsum != 0:
        return False

    return True
"1019"
"1091"
Proposer: claude-sonnet-4-6 Solver: deepseek-v3.2-thinking
1 vs 0
#4 Solved
def mystery(x):
    if not isinstance(x, str):
        return False
    if not x.isdigit():
        return False
    n = int(x)
    if n <= 0:
        return False
    if len(x) != 3:
        return False
    digit_cube_sum = sum(int(d)**3 for d in x)
    if digit_cube_sum != n:
        return False
    digit_sum = sum(int(d) for d in x)
    if n % digit_sum != 0:
        return False
    import math
    t = 8 * n + 1
    if int(math.sqrt(t)) ** 2 != t:
        return False
    if int(math.sqrt(n)) ** 2 == n:
        return False
    return True
"153"
"153"
Proposer: deepseek-v3.2-thinking Solver: claude-sonnet-4-6
1 vs 0
#5 Solved
def mystery(x):
    import math
    if not isinstance(x, int) or x <= 0:
        return False
    s = str(x)
    if len(s) != 4:
        return False
    if '0' in s or len(set(s)) != 4:
        return False
    sq = math.isqrt(x)
    if sq * sq != x:
        return False
    for d in s:
        if x % int(d) != 0:
            return False
    dsum = sum(int(d) for d in s)
    if sq % dsum != 0:
        return False
    return True
1296
1296
Proposer: claude-sonnet-4-6 Solver: deepseek-v3.2-thinking
1 vs 0
#6 Solved
def mystery(x):
    import math

    # Helper: perfect square check
    def is_sq(n):
        if n < 0:
            return False
        r = math.isqrt(n)
        return r * r == n

    # Convert input to string if possible
    if isinstance(x, int):
        s = str(x)
    elif isinstance(x, str):
        s = x
    else:
        return False

    # Must be exactly 4 digits, no leading zero
    if len(s) != 4 or not s.isdigit() or s[0] == '0':
        return False

    n = int(s)
    digits = [int(ch) for ch in s]

    # Exactly one zero
    if s.count('0') != 1:
        return False

    # Not a palindrome
    if s == s[::-1]:
        return False

    # Sum and product of digits
    dsum = sum(digits)
    dprod = 1
    for d in digits:
        dprod *= d

    # Sum must be prime
    if dsum < 2:
        return False
    for i in range(2, int(math.isqrt(dsum)) + 1):
        if dsum % i == 0:
            return False

    # Product must be a perfect square
    if not is_sq(dprod):
        return False

    # n divisible by sum
    if n % dsum != 0:
        return False

    # n must be a perfect square
    if not is_sq(n):
        return False

    # Square root of n must be a perfect square
    sqrt_n = math.isqrt(n)
    if not is_sq(sqrt_n):
        return False

    # Reverse must NOT be a perfect square
    rev_n = int(s[::-1])
    if is_sq(rev_n):
        return False

    return True
2401
2401
Proposer: deepseek-v3.2-thinking Solver: claude-sonnet-4-6
1 vs 0
#7 Solved
def mystery(x):
    import math
    if not isinstance(x, int) or x <= 0:
        return False
    s = str(x)
    if len(s) != 5:
        return False
    if '0' in s or len(set(s)) != 5:
        return False
    disc = 1 + 8 * x
    sq = math.isqrt(disc)
    if sq * sq != disc:
        return False
    if (sq - 1) % 2 != 0:
        return False
    n = (sq - 1) // 2
    if n < 2:
        return False
    for i in range(2, int(math.isqrt(n)) + 1):
        if n % i == 0:
            return False
    dsum = sum(int(d) for d in s)
    if dsum % 3 != 0:
        return False
    dprod = 1
    for d in s:
        dprod *= int(d)
    sq2 = math.isqrt(dprod)
    if sq2 * sq2 != dprod:
        return False
    return True
39621
39621
Proposer: claude-sonnet-4-6 Solver: deepseek-v3.2-thinking
1 vs 0
#8 Solved
def mystery(x):
    import math

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

    def is_perfect_cube(n):
        if n < 0:
            return False
        r = round(n ** (1/3))
        return r * r * r == n

    if isinstance(x, int):
        s = str(x)
    elif isinstance(x, str):
        s = x
    else:
        return False

    if len(s) != 4 or not s.isdigit() or s[0] == '0':
        return False

    n = int(s)
    digits = [int(ch) for ch in s]

    # Condition 1: perfect square
    sqrt_n = math.isqrt(n)
    if sqrt_n * sqrt_n != n:
        return False

    # Condition 2: digit sum prime
    dsum = sum(digits)
    if not is_prime(dsum):
        return False

    # Condition 3: digit product perfect cube
    dprod = 1
    for d in digits:
        dprod *= d
    if not is_perfect_cube(dprod):
        return False

    # Condition 4: square root's digit sum prime
    sqrt_digits_sum = sum(int(ch) for ch in str(sqrt_n))
    if not is_prime(sqrt_digits_sum):
        return False

    # Condition 5: exactly two distinct digits
    if len(set(s)) != 2:
        return False

    return True
1444
1444
Proposer: deepseek-v3.2-thinking Solver: claude-sonnet-4-6
1 vs 0
#9 Solved
def mystery(x):
    import math

    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(math.isqrt(n)) + 1, 2):
            if n % i == 0: return False
        return True

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

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

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

    # Condition 2: x ≡ 1 (mod 4)
    if x % 4 != 1:
        return False

    digits = [int(d) for d in s]

    # Condition 3: sum of all digits must be prime
    dsum = sum(digits)
    if not is_prime(dsum):
        return False

    # Condition 4: first digit + last digit must be prime
    if not is_prime(digits[0] + digits[-1]):
        return False

    # Condition 5: the number formed by the middle two digits must be prime
    mid = int(s[1:3])
    if not is_prime(mid):
        return False

    return True
4133
2029
Proposer: claude-sonnet-4-6 Solver: deepseek-v3.2-thinking
1 vs 0
#10 Solved
def mystery(x):
    # Accept either string or int, convert to int
    if isinstance(x, str):
        if not x.isdigit():
            return False
        if len(x) > 1 and x[0] == '0':
            return False
        x_int = int(x)
    elif isinstance(x, int):
        x_int = x
    else:
        return False

    # Must be a 4-digit number
    if not (1000 <= x_int <= 9999):
        return False

    # Condition 1: perfect cube
    cube_root = round(x_int ** (1/3))
    if cube_root ** 3 != x_int:
        return False

    s = str(x_int)
    dsum = sum(int(d) for d in s)

    # Condition 2: cube of digit sum equals the number
    if dsum ** 3 != x_int:
        return False

    # Condition 3: digit sum is prime
    if dsum < 2:
        return False
    for i in range(2, int(dsum ** 0.5) + 1):
        if dsum % i == 0:
            return False

    return True
4913
4913
Proposer: deepseek-v3.2-thinking Solver: claude-sonnet-4-6
1 vs 0