← All Duels

grok-4-fast-reasoning_vs_claude-sonnet-4-6.jsonl — 10 puzzles

grok-4-fast-reasoning
0
vs
claude-sonnet-4-6
1
#1 Solved
def mystery(x):
    try:
        n = int(x)
        if not (1000 <= n <= 9999):
            return False
    except ValueError:
        return False
    s = str(n).zfill(4)
    desc = ''.join(sorted(s, reverse=True))
    asc = ''.join(sorted(s))
    diff = int(desc) - int(asc)
    return diff == 6174
6174
6174
Proposer: grok-4-fast-reasoning Solver: claude-sonnet-4-6
0 vs 0
#2 Solved
def mystery(x):
    try:
        n = int(x)
        if n < 10:
            return False

        z = n
        k = 0
        while z >= 10:
            p = 1
            for c in str(z):
                p *= int(c)
            z = p
            k += 1

        return k == 5 and n % 97 == 0
    except:
        return False
679
679
Proposer: claude-sonnet-4-6 Solver: grok-4-fast-reasoning
0 vs 0
#3 Solved
def mystery(x):
    try:
        n = int(x)
        if n < 10:
            return False

        z = n
        k = 0
        while z >= 10:
            p = 1
            for c in str(z):
                p *= int(c)
            z = p
            k += 1

        return k == 4 and n % 97 == 0
    except:
        return False
776
776
Proposer: grok-4-fast-reasoning Solver: claude-sonnet-4-6
0 vs 0
#4 Solved
def mystery(x):
    try:
        n = int(x)
        if not (100 <= n <= 9999):
            return False

        k = n
        steps = 0
        while k != 1:
            k = k // 2 if k % 2 == 0 else 3 * k + 1
            steps += 1
            if steps > 1000000:
                return False

        ds = sum(int(c) for c in str(n))

        return steps == ds ** 2

    except:
        return False
301
301
Proposer: claude-sonnet-4-6 Solver: grok-4-fast-reasoning
0 vs 0
#5 Solved
def mystery(x):
    try:
        n = int(x)
        if not (1000 <= n <= 9999):
            return False

        def is_prime(m):
            if m <= 1:
                return False
            if m <= 3:
                return True
            if m % 2 == 0 or m % 3 == 0:
                return False
            i = 5
            while i * i <= m:
                if m % i == 0 or m % (i + 2) == 0:
                    return False
                i += 6
            return True

        if not is_prime(n):
            return False

        s = str(n)
        base9 = 0
        for c in s:
            d = int(c)
            if d >= 9:
                return False
            base9 = base9 * 9 + d

        return base9 > 1 and is_prime(base9)
    except ValueError:
        return False
1031
1031
Proposer: grok-4-fast-reasoning Solver: claude-sonnet-4-6
0 vs 0
#6 Solver Failed
def mystery(x):
    try:
        n = int(x)
        if not (10000 <= n <= 99999):
            return False

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

        if not is_prime(n):
            return False

        s = sum(int(d) ** 3 for d in str(n))

        if not is_prime(s):
            return False

        r = n % s
        root = int(r ** 0.5)
        if root * root != r:
            return False

        return r == 0 or is_prime(root)

    except:
        return False
12013
13001
Proposer: claude-sonnet-4-6 Solver: grok-4-fast-reasoning
0 vs 1
#7 Solved
def mystery(x):
    try:
        n = int(x)
        if not (100000 <= n <= 166666):
            return False
    except ValueError:
        return False
    s = str(n)
    if len(s) != 6:
        return False
    sorted_s = sorted(s)
    for k in range(2, 7):
        m = k * n
        t = str(m)
        if len(t) != 6 or sorted(t) != sorted_s:
            return False
    return True
142857
142857
Proposer: grok-4-fast-reasoning Solver: claude-sonnet-4-6
0 vs 1
#8 Solved
def mystery(x):
    try:
        n = int(x)
        if not (1000 <= n <= 9999):
            return False

        s = str(n)

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

        # Condition 1: n is prime
        if not is_prime(n):
            return False

        # Condition 2: sum of all consecutive two-digit substrings is prime
        pairs_sum = sum(int(s[i:i+2]) for i in range(len(s) - 1))
        if not is_prime(pairs_sum):
            return False

        # Condition 3: product of digits equals (last two digits) - 1
        prod = 1
        for c in s:
            prod *= int(c)
        if prod != (n % 100) - 1:
            return False

        # Condition 4: sum of cubes of digits is prime
        cube_sum = sum(int(c) ** 3 for c in s)
        if not is_prime(cube_sum):
            return False

        return True
    except:
        return False
2801
2801
Proposer: claude-sonnet-4-6 Solver: grok-4-fast-reasoning
0 vs 1
#9 Solved
def mystery(x):
    try:
        n = int(x)
        if n < 10:
            return False

        z = n
        k = 0
        while z >= 10:
            p = 1
            for c in str(z):
                p *= int(c)
            z = p
            k += 1

        return k == 4 and n % 113 == 0
    except:
        return False
678
678
Proposer: grok-4-fast-reasoning Solver: claude-sonnet-4-6
0 vs 1
#10 Solved
def mystery(x):
    try:
        n = int(x)
        if not (1000 <= n <= 9999):
            return False

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

        s = str(n)

        for length in range(1, len(s) + 1):
            for start in range(len(s) - length + 1):
                sub = int(s[start:start + length])
                if sub != 1 and not is_prime(sub):
                    return False

        return True
    except:
        return False
1373
1373
Proposer: claude-sonnet-4-6 Solver: grok-4-fast-reasoning
0 vs 1