def mystery(x):
if isinstance(x, str):
try:
n = int(x)
except ValueError:
return False
elif isinstance(x, int):
n = x
else:
return False
n = abs(n)
if n % 7 != 0 or n % 13 != 0:
return False
if pow(2, n-1, n) != 1 or pow(5, n-1, n) != 1:
return False
return True
def mystery(x):
if not isinstance(x, str):
return False
if not (3 <= len(x) <= 8):
return False
# Must be parseable as a positive integer
try:
n = int(x)
except ValueError:
return False
if n <= 0:
return False
# XOR of ASCII values of each character must be prime
xor_val = 0
for c in x:
xor_val ^= ord(c)
def is_prime(p):
if p < 2: return False
if p == 2: return True
if p % 2 == 0: return False
for i in range(3, int(p**0.5) + 1, 2):
if p % i == 0: return False
return True
if not is_prime(xor_val):
return False
# Sum of ASCII values must be evenly divisible by the string length
ascii_sum = sum(ord(c) for c in x)
return ascii_sum % len(x) == 0
def mystery(x):
if not isinstance(x, str):
return False
if not (5 <= len(x) <= 10):
return False
try:
n = int(x, 36)
except ValueError:
return False
if n <= 0:
return False
import math
r = math.isqrt(n)
if r * r != n:
return False
b = bin(n)[2:]
if b != b[::-1]:
return False
s = sum(ord(c) for c in x)
if s < 2:
return False
for i in range(2, int(s ** 0.5) + 1):
if s % i == 0:
return False
return True
def mystery(x):
if not isinstance(x, str):
return False
# Must be exactly 3 characters
if len(x) != 3:
return False
# All characters must be valid octal digits (0-7)
if not all(c in '01234567' for c in x):
return False
# No leading zero
if x[0] == '0':
return False
# Interpret x as both a decimal and an octal number
n_dec = int(x)
n_oct = int(x, 8)
def is_prime(p):
if p < 2: return False
if p == 2: return True
if p % 2 == 0: return False
for i in range(3, int(p**0.5) + 1, 2):
if p % i == 0: return False
return True
# Both the decimal and octal interpretations must be prime
if not is_prime(n_dec) or not is_prime(n_oct):
return False
# The first digit must equal (second digit + third digit) mod 10
d0, d1, d2 = int(x[0]), int(x[1]), int(x[2])
if d0 != (d1 + d2) % 10:
return False
return True
def mystery(x):
# Convert to int if string
if isinstance(x, str):
if not x.isdigit(): # only digits, no sign
return False
n = int(x)
elif isinstance(x, int):
n = x
else:
return False
if n <= 0:
return False
# primality test
def is_prime(num):
if num < 2:
return False
if num == 2:
return True
if num % 2 == 0:
return False
for i in range(3, int(num**0.5) + 1, 2):
if num % i == 0:
return False
return True
if not is_prime(n):
return False
# Check if n is a Mersenne prime: n+1 must be a power of 2
if not ((n + 1) & n == 0 and n + 1 > 0):
return False
# exponent k such that n = 2^k - 1
k = (n + 1).bit_length() - 1
if not is_prime(k):
return False
# Binary representation must be a palindrome
bin_str = bin(n)[2:]
if bin_str != bin_str[::-1]:
return False
# Emirp: reverse digits must be a different prime
dec_str = str(n)
rev_str = dec_str[::-1]
rev_n = int(rev_str)
if rev_n == n or not is_prime(rev_n):
return False
# Circular prime: all rotations of digits must be prime
for i in range(len(dec_str)):
rot = int(dec_str[i:] + dec_str[:i])
if not is_prime(rot):
return False
return True
def mystery(x):
if not isinstance(x, str):
return False
try:
n = int(x)
except:
return False
if n <= 1:
return False
def is_prime(num):
if num < 2: return False
if num == 2: return True
if num % 2 == 0: return False
for i in range(3, int(num**0.5) + 1, 2):
if num % i == 0: return False
return True
# Must be composite (not prime)
if is_prime(n):
return False
# Must pass Fermat primality test for base 2
if pow(2, n - 1, n) != 1:
return False
# Must pass Fermat primality test for base 3
if pow(3, n - 1, n) != 1:
return False
# Digit sum must be prime
digit_sum = sum(int(d) for d in str(n))
if not is_prime(digit_sum):
return False
# Number of digits must be prime
if not is_prime(len(str(n))):
return False
return True
def mystery(x):
# Convert to integer if possible
if isinstance(x, str):
if not x.isdigit():
return False
n = int(x)
elif isinstance(x, int):
n = x
else:
return False
# Must be greater than 100
if n <= 100:
return False
# Perfect square check
sqrt_n = int(n ** 0.5)
if sqrt_n * sqrt_n != n:
return False
# Decimal palindrome check
s_dec = str(n)
if s_dec != s_dec[::-1]:
return False
# Sum of digits perfect square
digit_sum = sum(int(d) for d in s_dec)
sqrt_ds = int(digit_sum ** 0.5)
if sqrt_ds * sqrt_ds != digit_sum:
return False
# Number of digits prime
def is_prime(num):
if num < 2:
return False
if num == 2:
return True
if num % 2 == 0:
return False
for i in range(3, int(num ** 0.5) + 1, 2):
if num % i == 0:
return False
return True
num_digits = len(s_dec)
if not is_prime(num_digits):
return False
# Square root prime
if not is_prime(sqrt_n):
return False
# Smith number: sum of digits of prime factors equals digit_sum
def digit_sum_of_num(num):
return sum(int(d) for d in str(num))
factors_sum = 0
temp = n
p = 2
while p * p <= temp:
while temp % p == 0:
factors_sum += digit_sum_of_num(p)
temp //= p
p += 1 if p == 2 else 2
if temp > 1:
factors_sum += digit_sum_of_num(temp)
if factors_sum != digit_sum:
return False
# Star number: n = 6*m*(m-1) + 1 for some integer m
# Equivalent to (2*n+1)/3 being a perfect square with odd square root
numerator = 2 * n + 1
if numerator % 3 != 0:
return False
t = numerator // 3
sqrt_t = int(t ** 0.5)
if sqrt_t * sqrt_t != t:
return False
if sqrt_t % 2 != 1:
return False
# Palindrome in base 3
def to_base(num, base):
if num == 0:
return "0"
digits = []
while num:
digits.append(str(num % base))
num //= base
return ''.join(reversed(digits))
base3 = to_base(n, 3)
if base3 != base3[::-1]:
return False
# Palindrome in base 7
base7 = to_base(n, 7)
if base7 != base7[::-1]:
return False
return True
def mystery(x):
if isinstance(x, str):
try:
n = int(x)
except ValueError:
return False
elif isinstance(x, int):
n = x
else:
return False
if n <= 1:
return False
# Must be odd
if n % 2 == 0:
return False
# Must be a decimal palindrome
s = str(n)
if s != s[::-1]:
return False
# Must be a Kaprekar number:
# n^2, when split at any position into two parts, gives parts that sum to n
sq = n * n
sq_str = str(sq)
is_kap = False
for split in range(1, len(sq_str)):
right_val = int(sq_str[split:])
left_val = int(sq_str[:split])
if right_val > 0 and left_val + right_val == n:
is_kap = True
break
if not is_kap:
return False
# Digit sum must be a triangular number (T_k = k*(k+1)/2)
ds = sum(int(c) for c in s)
k = 0
while k * (k + 1) // 2 < ds:
k += 1
if k * (k + 1) // 2 != ds:
return False
# Number of divisors of n must be a perfect square
d_count = 0
i = 1
while i * i <= n:
if n % i == 0:
d_count += 2 if i != n // i else 1
i += 1
import math
sr = math.isqrt(d_count)
if sr * sr != d_count:
return False
# Length of decimal representation must be prime
def is_prime(p):
if p < 2: return False
if p == 2: return True
if p % 2 == 0: return False
for i in range(3, int(p**0.5) + 1, 2):
if p % i == 0: return False
return True
if not is_prime(len(s)):
return False
return True
def mystery(x):
# Convert input to integer if possible
if isinstance(x, str):
if not x.isdigit(): # only digits, no sign or decimal
return False
n = int(x)
elif isinstance(x, int):
n = x
else:
return False
# Must be greater than 100
if n <= 100:
return False
# Helper: primality test
def is_prime(num):
if num < 2:
return False
if num == 2:
return True
if num % 2 == 0:
return False
for i in range(3, int(num**0.5) + 1, 2):
if num % i == 0:
return False
return True
# 1. Must be prime
if not is_prime(n):
return False
# 2. Must be a decimal palindrome
s = str(n)
if s != s[::-1]:
return False
# 3. Must be a happy number
def is_happy(num):
seen = set()
while num != 1 and num not in seen:
seen.add(num)
num = sum(int(d) ** 2 for d in str(num))
return num == 1
if not is_happy(n):
return False
# 4. Binary popcount (number of 1's) must be prime
popcount = bin(n).count('1')
if not is_prime(popcount):
return False
# 5. Must be a centered square number: n = m^2 + (m-1)^2 for some integer m
# Solve 2m^2 - 2m + 1 - n = 0 → m = (1 + sqrt(2n-1)) / 2
import math
disc = 2 * n - 1
sqrt_disc = int(math.isqrt(disc))
if sqrt_disc * sqrt_disc != disc:
return False
m = (1 + sqrt_disc) // 2
if m * m + (m - 1) * (m - 1) != n:
return False
# 6. Sum of digits must be prime
digit_sum = sum(int(d) for d in s)
if not is_prime(digit_sum):
return False
# 7. Product of digits must be a perfect square
digit_product = 1
for d in s:
digit_product *= int(d)
sqrt_prod = int(math.isqrt(digit_product))
if sqrt_prod * sqrt_prod != digit_product:
return False
return True
def mystery(x):
if isinstance(x, str):
try:
n = int(x)
except ValueError:
return False
elif isinstance(x, int):
n = x
else:
return False
if n <= 1:
return False
def is_prime(p):
if p < 2: return False
if p == 2: return True
if p % 2 == 0: return False
for i in range(3, int(p**0.5) + 1, 2):
if p % i == 0: return False
return True
# Must be composite
if is_prime(n):
return False
# Must pass Fermat primality test for bases 2 and 3
if pow(2, n - 1, n) != 1:
return False
if pow(3, n - 1, n) != 1:
return False
# Must be expressible as a sum of two positive perfect cubes in at least 2 different ways
ways = 0
a = 1
while a * a * a * 2 < n:
remainder = n - a * a * a
b = round(remainder ** (1/3))
for candidate in range(max(a + 1, b - 2), b + 3):
if candidate * candidate * candidate == remainder:
ways += 1
break
a += 1
if ways < 2:
return False
# Digit sum of n must be prime
digit_sum = sum(int(d) for d in str(n))
if not is_prime(digit_sum):
return False
return True