def find_B(A):
# Проверка на простое число
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 is_prime(A):
return "лимитированная партия"
# Иначе ищем минимальное положительное целое число B
for B in range(1, 10**9 + 1):
product = 1
for digit in str(B):
product *= int(digit)
if product == A:
return B
return "лимитированная партия"
# Пример использования функции
print(find_B(11)) # Вывод: лимитированная партия
print(find_B(14)) # Вывод: 27
Некто БезымянныйУченик (222)
1 год назад
Не то, чтобы помогло, но спасибо. Чессстна, похоже на ответ нейросети, хотелось бы услышать мнение реального человека.
В лаборатории SberDevices решили не отставать и к праздничному юбилею Сбербанка выпустили особую коллекцию умных колонок с эксклюзивными дизайнами. Каждая партия получила уникальный номер, чтобы было проще контролировать распространение товара. Для этой коллекции лаборатория изменила систему присвоения порядкового номера: теперь берётся число компонентов, припаянных к главной плате A, и для этого числа ищется минимальное положительное целое число B, такое, чтобы произведение цифр числа B в точности равнялось A. В случае если число компонентов является простым числом, то партия колонок относится к лимитированной серии.
Решение должно быть подготовлено на языке Python. Данные На вход (stdin) программе подаётся целое число A, диапазон которого от 1 до 109. Результатом работы программы (вывод в stdout) должно стать целое число B. Если такого числа не существует, выведите строку «лимитированная партия».
Примеры
Вход: 11
Выход: лимитированная партия
Вход: 14
Выход: 27