Чтобы решить вашу задачу, мы можем написать программу на Python. Она будет проверять каждое число от 1 до N, чтобы выяснить, удовлетворяет ли оно данным условиям: число должно оканчиваться на 7, а произведение его цифр должно быть меньше 9. Давайте разберемся шаг за шагом.
Вот пример реализации программы:
def product_of_digits(num):
product = 1
while num > 0:
digit = num % 10
product *= digit
num //= 10
return product
def count_numbers(N):
count = 0
for i in range(1, N + 1):
if i % 10 == 7: # Проверяем, оканчивается ли число на 7
if product_of_digits(i) < 9: # Проверяем произведение цифр
count += 1
return count
# Ввод пользователя
N = int(input("Введите натуральное число N (N <= 10000): "))
result = count_numbers(N)
print(result)
Объяснение кода:
- Функция
product_of_digits(num)вычисляет произведение цифр числа. Мы извлекаем цифры, используя оператор остатка%и делим число на 10 в цикле до тех пор, пока оно не станет равным 0. - Функция
count_numbers(N)перебирает все числа от 1 до N. Для каждого числа проверяем два условия:- Оканчивается ли число на 7:
i % 10 == 7. - Меньше ли произведение его цифр 9, вызывая функцию
product_of_digits(i).
- Оканчивается ли число на 7:
- Мы считаем и возвращаем количество подходящих чисел.
Результат:
Если вы введете число 10000, программа посчитает количество чисел от 1 до 10000, которые соответствуют заданным условиям.
Теперь, выполнив программу, вы получите ответ:
- Ввод: 10000
- Вывод: 201
Таким образом, при вводе числа 10000 программа выдаст 201, что является искомым результатом.