
Дано натуральное число N. Найти и вывести все числа в интервале от 1 до N - 1, у которых
произведение всех цифр совпадает с суммой цифр данного числа. Если таких чисел нет, то вывести слово «нет». (python) Пример: N = 44. Числа: 18, 24(python) 

Ответы на вопрос

N = int(input())
summa = sum(map(lambda x: int(x), str(N)))
mas = []
for i in range(N):
pr = list(map(lambda x: int(x), str(i)))
p = 1
for t in pr:
p*=t
if p == summa:
mas.append(i)
print(mas if len(mas) > 0 else 'нет')



Для решения этой задачи, вам нужно будет использовать цикл for для итерации по всем числам в заданном интервале. Для каждого числа вы должны вычислить произведение и сумму его цифр, а затем сравнить эти два значения. Если они совпадают, вы должны добавить это число в список результатов.
Вот шаги, которые вы должны следовать:
1. Создайте пустой список для хранения чисел, удовлетворяющих условию. 2. Используйте цикл for для итерации по числам от 1 до N-1. 3. Для каждого числа вычислите произведение и сумму его цифр. Вы можете сделать это, преобразовав число в строку, а затем пройдя по каждому символу в строке (который представляет цифру числа), преобразовав его обратно в число и умножив на текущий результат для произведения или добавив его к текущему результату для суммы. 4. Сравните произведение и сумму. Если они совпадают, добавьте число в список результатов. 5. После завершения цикла проверьте, есть ли в списке результатов хотя бы одно число. Если нет, выведите "нет". В противном случае, выведите все числа из списка результатов.
Вот пример кода на Python, который реализует этот алгоритм:
```python def find_numbers(N): result = [] for i in range(1, N): digits = [int(d) for d in str(i)] product = 1 sum_digits = 0 for d in digits: product *= d sum_digits += d if product == sum_digits: result.append(i) if not result: print("нет") else: print("Числа:", ", ".join(map(str, result)))
find_numbers(44) ```
Этот код сначала создает пустой список `result`. Затем он проходит по всем числам от 1 до N-1. Для каждого числа он вычисляет произведение и сумму его цифр. Если произведение и сумма совпадают, он добавляет число в список `result`. После завершения цикла он проверяет, есть ли в списке `result` хотя бы одно число. Если нет, он выводит "нет". В противном случае, он выводит все числа из списка `result`.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili