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
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
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:]))
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
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))
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
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
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
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
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)