def mystery(x):
if not isinstance(x, str):
return False
n = len(x)
# Condition 1: Specific length
if n != 7:
return False
# Condition 2: All characters must be lowercase English letters
if not all('a' <= char <= 'z' for char in x):
return False
product_ord_minus_96 = 1
sum_ordinals = 0
for char in x:
val = ord(char) - 96 # 'a' becomes 1, 'b' becomes 2, ..., 'z' becomes 26
product_ord_minus_96 *= val
sum_ordinals += ord(char)
# Condition 3: Product of (ord(char) - 96) must be a specific power of 2
if product_ord_minus_96 != 8192: # 2^13
return False
# Condition 4: The sum of the ordinal values must be a prime number
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
if not is_prime(sum_ordinals):
return False
return True
def mystery(x):
if not isinstance(x, str):
return False
if len(x) != 8:
return False
if not x.isalnum() or not x.islower():
return False
checksum = 0
for i, c in enumerate(x):
if c.isdigit():
checksum += int(c) * (i + 1)
else:
checksum += (ord(c) - ord('a') + 10) * (i + 1)
if checksum != 469:
return False
if x[0] != x[-1]:
return False
if not any(c.isdigit() for c in x):
return False
if not any(c.isalpha() for c in x):
return False
return True
def mystery(x):
if not isinstance(x, int):
return False
if x <= 0:
return False
binary_x = bin(x)[2:]
n_bits = len(binary_x)
# Condition 1: Binary representation must be exactly 16 bits long
if n_bits != 16:
return False
# Condition 2: The binary representation must have exactly 3 '1's (Hamming weight)
if binary_x.count('1') != 3:
return False
# Condition 3: The number x must be a multiple of 13
if x % 13 != 0:
return False
return True
def mystery(x):
if not isinstance(x, int):
return False
if x < 10000 or x > 99999:
return False
s = str(x)
prod = 1
for c in s:
prod *= int(c)
if prod != 1512:
return False
if x % 9 != 0:
return False
if int(s[0]) >= int(s[-1]):
return False
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
pair_sum = 0
for i in range(4):
pair_sum += int(s[i]) + int(s[i+1])
if not is_prime(pair_sum):
return False
return True
def mystery(x):
# Condition 1: Input must be a positive integer
if not isinstance(x, int) or x <= 0:
return False
s_x = str(x)
n_digits = len(s_x)
# Condition 2: x must be a 5-digit number
if n_digits != 5:
return False
# Condition 3: x must be a perfect square
# Calculate integer square root and check if it's exact
sqrt_x = int(x**0.5)
if sqrt_x * sqrt_x != x:
return False
# Condition 4: The number x must be divisible by 13
if x % 13 != 0:
return False
# Condition 5: The string representation of x must contain at least one even digit and at least one odd digit
has_even = False
has_odd = False
sum_digits = 0
for char_digit in s_x:
digit = int(char_digit)
sum_digits += digit
if digit % 2 == 0:
has_even = True
else:
has_odd = True
if not (has_even and has_odd):
return False
# Condition 6: The sum of the digits of x must be a prime number
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
if not is_prime(sum_digits):
return False
return True
def mystery(x):
if not isinstance(x, int):
return False
if x < 10000 or x > 99999:
return False
s = str(x)
# Must be a palindrome
if s != s[::-1]:
return False
# Must be divisible by 11
if x % 11 != 0:
return False
# x/11 must be prime
quotient = x // 11
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
if not is_prime(quotient):
return False
# The middle digit must be odd
if int(s[2]) % 2 == 0:
return False
# Sum of digits must be > 20
if sum(int(c) for c in s) <= 20:
return False
return True
def mystery(x):
# Condition 1: Input must be a string
if not isinstance(x, str):
return False
n = len(x)
# Condition 2: The string must be exactly 7 characters long
if n != 7:
return False
# Condition 3: All characters must be digits
if not x.isdigit():
return False
# Convert string to integer for numerical checks
int_x = int(x)
# Helper function to check for primality
def is_prime(num):
if num < 2:
return False
# Optimized loop for primality test
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
# Condition 4: The integer value of x must be a prime number
if not is_prime(int_x):
return False
# Calculate sum and product of digits, and count prime digits
sum_digits = 0
prod_digits = 1
prime_digits_count = 0
# Define the set of prime digits for easy checking
prime_digit_set = {2, 3, 5, 7}
for char_digit in x:
digit = int(char_digit)
sum_digits += digit
prod_digits *= digit
if digit in prime_digit_set:
prime_digits_count += 1
# Condition 5: The sum of the digits must be a prime number
if not is_prime(sum_digits):
return False
# Condition 6: The product of the digits must be a perfect square
# Note: 0 is considered a perfect square (0 * 0 = 0)
def is_perfect_square(num):
if num < 0:
return False
if num == 0: # Special case: product is 0 if any digit is 0
return True
sqrt_num = int(num**0.5)
return sqrt_num * sqrt_num == num
if not is_perfect_square(prod_digits):
return False
# Condition 7: The string must contain exactly two prime digits (from 2, 3, 5, 7)
if prime_digits_count != 2:
return False
# Condition 8: The sum of the first three digits must equal the sum of the last three digits
sum_first_three = int(x[0]) + int(x[1]) + int(x[2])
sum_last_three = int(x[4]) + int(x[5]) + int(x[6])
if sum_first_three != sum_last_three:
return False
return True
def mystery(x):
if not isinstance(x, int):
return False
if x < 100000 or x > 999999:
return False
s = str(x)
# All digits must be distinct
if len(set(s)) != 6:
return False
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
# Must be a perfect cube
cr = round(x ** (1/3))
cube_root = None
for candidate in [cr - 1, cr, cr + 1]:
if candidate > 0 and candidate ** 3 == x:
cube_root = candidate
break
if cube_root is None:
return False
# Cube root must be prime
if not is_prime(cube_root):
return False
# Digit sum divisible by 7
digit_sum = sum(int(c) for c in s)
if digit_sum % 7 != 0:
return False
# First digit < last digit
if int(s[0]) >= int(s[-1]):
return False
# Sum of adjacent digit products must be prime
adj_prod_sum = 0
for i in range(5):
adj_prod_sum += int(s[i]) * int(s[i+1])
if not is_prime(adj_prod_sum):
return False
return True
def mystery(x):
# Condition 1: Input must be a string
if not isinstance(x, str):
return False
n = len(x)
# Condition 2: The string must be exactly 6 characters long
if n != 6:
return False
# Condition 3: Characters at even indices (0, 2, 4) must be digits.
# Characters at odd indices (1, 3, 5) must be lowercase English letters.
for i in range(n):
if i % 2 == 0: # Even index, must be a digit
if not x[i].isdigit():
return False
else: # Odd index, must be a lowercase letter
if not ('a' <= x[i] <= 'z'):
return False
# Extract digits and letters based on their positions
digits_str = x[0] + x[2] + x[4]
letters_str = x[1] + x[3] + x[5]
# Condition 4: The number formed by concatenating the digits must be a perfect cube.
# It must also be a valid 3-digit number (i.e., x[0] cannot be '0').
num_from_digits = int(digits_str)
if num_from_digits < 100 or num_from_digits > 999:
return False
cube_root_candidate = round(num_from_digits**(1/3))
if cube_root_candidate**3 != num_from_digits:
return False
# Condition 5: The sum of the 'a'-based ordinal values of the letters must be a prime number.
# ('a' = 1, 'b' = 2, ..., 'z' = 26)
sum_letter_values = 0
for char_letter in letters_str:
sum_letter_values += (ord(char_letter) - ord('a') + 1)
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
if not is_prime(sum_letter_values):
return False
# Condition 6: The integer value of the first digit (x[0]) must be equal to
# the 'a'-based ordinal value of the first letter (x[1]).
if int(x[0]) != (ord(x[1]) - ord('a') + 1):
return False
# Condition 7: The number formed by concatenating the digits (num_from_digits) must be divisible by 7.
if num_from_digits % 7 != 0:
return False
return True
def mystery(x):
if not isinstance(x, int):
return False
if x < 10000000 or x > 99999999:
return False
s = str(x) # 8 digits
# Split into two 4-digit numbers
left = int(s[:4])
right = int(s[4:])
# Both must be perfect squares
sqrt_left = int(left ** 0.5)
sqrt_right = int(right ** 0.5)
if sqrt_left * sqrt_left != left or sqrt_right * sqrt_right != right:
return False
# Their product must be a perfect cube
prod = left * right
cube_root = round(prod ** (1/3))
if cube_root ** 3 != prod:
return False
# Sum of all digits must be 27
if sum(int(c) for c in s) != 27:
return False
# right must be strictly greater than left
if left >= right:
return False
return True