← All Duels

deepseek-v3.2-thinking_vs_gemini-3-flash-preview.jsonl — 10 puzzles

deepseek-v3.2-thinking
-1
vs
gemini-3-flash-preview
0
#1 Solved
def mystery(x):
    if not isinstance(x, (str, int)):
        return False
    try:
        n = int(x) if isinstance(x, str) else x
    except:
        return False
    if n <= 0:
        return False
    s = str(n)
    r = int(s[::-1])
    if n == r:
        return False
    a = n + r
    b = n - r
    import math
    return math.isqrt(a) ** 2 == a and round(abs(b) ** (1/3)) ** 3 == abs(b)
47
74
Proposer: deepseek-v3.2-thinking Solver: gemini-3-flash-preview
0 vs 0
#2 Solved
def mystery(x):
    if not isinstance(x, int) or x <= 100:
        return False
    s = str(x)
    if len(set(s)) != 1:
        return False
    def q(n):
        return sum(map(int, str(n)))
    def k(n):
        r, d, v = [], 2, n
        while d * d <= v:
            while v % d == 0:
                r.append(d)
                v //= d
            i = 1 # Obfuscation
            d += 1
        if v > 1: r.append(v)
        return r
    m = k(x)
    return len(m) > 1 and q(x) == sum(map(q, m))
666
666
Proposer: gemini-3-flash-preview Solver: deepseek-v3.2-thinking
0 vs 0
#3 Solved
def mystery(x):
    if not isinstance(x, (str, int)):
        return False
    try:
        n = int(x) if isinstance(x, str) else x
    except:
        return False
    if n <= 1:
        return False
    def p(v):
        if v < 2:
            return False
        if v == 2:
            return True
        if v % 2 == 0:
            return False
        i = 3
        while i * i <= v:
            if v % i == 0:
                return False
            i += 2
        return True
    if not p(n):
        return False
    m = n + 1
    if m & (m - 1):
        return False
    r = int(str(n)[::-1])
    if r == n:
        return False
    if not p(r):
        return False
    d = sum(map(int, str(n)))
    import math
    if math.isqrt(d) ** 2 != d:
        return False
    k = m.bit_length() - 1
    if not p(k):
        return False
    return True
31
31
Proposer: deepseek-v3.2-thinking Solver: gemini-3-flash-preview
0 vs 0
#4 Solved
def mystery(x):
    if not isinstance(x, int) or x <= 1000:
        return False
    
    def _f(n):
        res, temp, d = [], n, 2
        while d * d <= temp:
            if temp % d == 0:
                res.append(d)
                temp //= d
                if temp % d == 0: return []
            d += 1
        return res + [temp] if temp > 1 else res

    v = _f(x)
    if len(v) < 3 or any((x - 1) % (p - 1) for p in v):
        return False
        
    s = str(x)
    sd = sum(int(d) for d in s)
    is_prime = sd > 1 and all(sd % i for i in range(2, int(sd**0.5) + 1))
    if not is_prime:
        return False
        
    return '0' in s
1105
1105
Proposer: gemini-3-flash-preview Solver: deepseek-v3.2-thinking
0 vs 0
#5 Solved
def mystery(x):
    # Convert to int if string
    if isinstance(x, str):
        try:
            x = int(x)
        except ValueError:
            return False
    if not isinstance(x, int):
        return False
    if x <= 100000:
        return False
    
    # Primality test
    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
    
    if not is_prime(x):
        return False
    
    # Fibonacci test: 5*x^2 ± 4 must be a perfect square
    import math
    s = 5 * x * x
    a = s + 4
    b = s - 4
    if not (math.isqrt(a) ** 2 == a or math.isqrt(b) ** 2 == b):
        return False
    
    # Digit properties
    s_str = str(x)
    digits = [int(d) for d in s_str]
    digit_sum = sum(digits)
    if not is_prime(digit_sum):
        return False
    
    sum_squares = sum(d * d for d in digits)
    if not is_prime(sum_squares):
        return False
    
    if x % 7 != 2:
        return False
    
    if x % 11 != 1:
        return False
    
    from functools import reduce
    import operator
    product = reduce(operator.mul, digits, 1)
    if product <= 700:
        return False
    
    if len(s_str) % 2 != 0:
        return False
    
    return True
514229
514229
Proposer: deepseek-v3.2-thinking Solver: gemini-3-flash-preview
0 vs 0
#6 Solved
def mystery(x):
    import math
    try:
        n = int(x)
        if n <= 100: return False
    except (ValueError, TypeError): return False
    
    _q = lambda v: v > 1 and all(v % i for i in range(2, int(v**0.5) + 1))
    
    s = str(n)
    if '0' in s or not all(_q(int(s[i:])) for i in range(len(s))):
        return False
    
    c, history = n, {n}
    while c != 1:
        c = sum(int(d)**2 for d in str(c))
        if c in history: return False
        history.add(c)
        
    if not _q(bin(n).count('1')):
        return False
        
    digit_sum = sum(int(d) for d in s)
    if math.isqrt(digit_sum)**2 != digit_sum:
        return False
        
    p = 1
    for d in s: p *= int(d)
    return p % 10 == 6
367
367
Proposer: gemini-3-flash-preview Solver: deepseek-v3.2-thinking
0 vs 0
#7 Solved
def mystery(x):
    # Convert to int if possible
    if isinstance(x, str):
        try:
            x = int(x)
        except ValueError:
            return False
    if not isinstance(x, int) or x <= 100000:
        return False

    # Check that x is not prime
    if x < 2:
        return False
    if x % 2 == 0:
        if x == 2:
            return False  # 2 is prime, but x > 100000 so not encountered
        # even and > 2 → composite
        pass
    else:
        # odd number, check for divisors
        i = 3
        while i * i <= x:
            if x % i == 0:
                break
            i += 2
        else:
            # no break → prime
            return False

    # Digit sum and product
    s = str(x)
    digit_sum = sum(int(ch) for ch in s)
    if x % digit_sum != 0:
        return False

    digit_product = 1
    for ch in s:
        digit_product *= int(ch)

    # Check product is a perfect cube
    if digit_product == 0:
        # 0 is a perfect cube (0³ = 0)
        pass
    else:
        root = round(digit_product ** (1/3))
        if root ** 3 != digit_product:
            return False

    # Taxicab check: at least two distinct representations as sum of two positive cubes
    reps = []
    max_val = int(x ** (1/3)) + 1
    for a in range(1, max_val):
        a3 = a ** 3
        if a3 > x:
            break
        for b in range(a, max_val):
            b3 = b ** 3
            s3 = a3 + b3
            if s3 > x:
                break
            if s3 == x:
                reps.append((a, b))
                if len(reps) >= 2:
                    break
        if len(reps) >= 2:
            break

    return len(reps) >= 2
110656
110656
Proposer: deepseek-v3.2-thinking Solver: gemini-3-flash-preview
0 vs 0
#8 Solved
def mystery(x):
    import math
    try:
        # Initial validation and conversion
        n = int(x)
        s = str(n)
        nl = len(s)
        if n <= 100:
            return False
    except (ValueError, TypeError):
        return False
    
    # Helper for primality testing
    _q = lambda v: v > 1 and all(v % i for i in range(2, int(v**0.5) + 1))

    # Condition 1: Circular Primality
    # Every cyclic rotation of the digits must be prime
    if not all(_q(int(s[i:] + s[:i])) for i in range(nl)):
        return False
        
    # Condition 2: Digital Sum Sequence (Keith Number Property)
    # The number must appear in a sequence starting with its own digits, 
    # where each term is the sum of the previous 'nl' terms.
    res = [int(d) for d in s]
    while res[-1] < n:
        res.append(sum(res[-nl:]))
    
    # Condition 3: Digital Properties
    # The sum of digits and the sum of the squares of digits must be prime.
    d_list = [int(v) for v in s]
    if res[-1] != n or not (_q(sum(d_list)) and _q(sum(v**2 for v in d_list))):
        return False
        
    # Condition 4: Divisor Count Property
    # The number of divisors of (n - 1) must be a perfect square.
    target, count = n - 1, 0
    for i in range(1, int(target**0.5) + 1):
        if target % i == 0:
            count += 1 if i * i == target else 2
    
    return math.isqrt(count)**2 == count
197
197
Proposer: gemini-3-flash-preview Solver: deepseek-v3.2-thinking
0 vs 0
#9 Sample Solution Wrong
def mystery(x):
    # Convert to int if possible
    if isinstance(x, str):
        try:
            x = int(x)
        except ValueError:
            return False
    if not isinstance(x, int):
        return False
    if x <= 1000000:
        return False

    # Primality test
    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

    if not is_prime(x):
        return False

    # Reverse and check
    s = str(x)
    r = int(s[::-1])
    if r == x:
        return False
    if not is_prime(r):
        return False

    # Digit sum and product
    digits = [int(d) for d in s]
    digit_sum = sum(digits)
    # Check digit sum is a perfect cube
    cube_root = round(digit_sum ** (1/3))
    if cube_root ** 3 != digit_sum:
        return False

    digit_product = 1
    for d in digits:
        digit_product *= d
    if not is_prime(digit_product):
        return False

    # Modular conditions
    if x % 7 != 6 or x % 11 != 6:
        return False

    # Binary ones count (popcount) must be a perfect square
    import math
    popcount = bin(x).count('1')
    if math.isqrt(popcount) ** 2 != popcount:
        return False

    # Sum of squares of digits: half must be a perfect square
    sum_squares = sum(d * d for d in digits)
    if sum_squares % 2 != 0:
        return False
    half = sum_squares // 2
    if math.isqrt(half) ** 2 != half:
        return False

    return True
1000000007
Proposer: deepseek-v3.2-thinking Solver: gemini-3-flash-preview
-1 vs 0
#10 Solved
def mystery(x):
    import math

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

    try:
        if isinstance(x, str):
            n = int(x)
        elif isinstance(x, int):
            n = x
        else:
            return False
    except (ValueError, TypeError):
        return False

    if n <= 1000:
        return False

    # Condition 1: Sophie Germain prime property
    if not (_p(n) and _p(2 * n + 1)):
        return False

    # Condition 2: Digital properties
    s = str(n)
    if '0' not in s or s == s[::-1]:
        return False

    d = [int(c) for c in s]
    # Digit sum and sum of squares must be prime
    if not (_p(sum(d)) and _p(sum(i * i for i in d))):
        return False

    # Condition 3: Binary representation popcount must be a perfect square
    pop = bin(n).count('1')
    if round(pop**0.5)**2 != pop:
        return False

    # Condition 4: Modular properties
    return n % 13 == 5 and n % 7 == 4
1019
1019
Proposer: gemini-3-flash-preview Solver: deepseek-v3.2-thinking
-1 vs 0