Напишите программу, которая вводит натуральное число n и выводит на экран все натуральные числа, не превосходящие n и делящиеся на каждую из своих цифр. на python.

sirghiina sirghiina    1   06.10.2019 21:01    33

Ответы
lordczar95 lordczar95  19.01.2024 20:50
Хорошо, давайте напишем программу, которая будет выполнять данную задачу.

Прежде чем начать, давайте разберемся, что такое натуральное число. Натуральное число - это любое положительное целое число, начиная с единицы (1), двойки (2), тройки (3) и так далее.

В этой программе мы собираемся вводить натуральное число n, а затем вывести все натуральные числа, не превосходящие n и делящиеся на каждую из своих цифр.

Давайте начнем писать код программы на языке Python:

```python
def check_divisible(num):
for digit in str(num):
if int(digit) != 0 and num % int(digit) != 0:
return False
return True

n = int(input("Введите значение для n: "))

for i in range(1, n+1):
if check_divisible(i):
print(i)
```

Давайте разберемся с пошаговым решением и объясним каждую часть кода:

1. Мы создали функцию `check_divisible(num)`, которая проверяет, делится ли число `num` на каждую из его цифр.
- Мы преобразовали число в строку с помощью `str(num)`.
- Затем мы перебираем каждую цифру в числе с помощью цикла `for digit in str(num)`.
- Внутри цикла мы проверяем, равна ли текущая цифра нулю (`int(digit) != 0`) и делится ли число `num` на текущую цифру без остатка (`num % int(digit) != 0`).
- Если хотя бы одно из этих условий не выполняется, функция возвращает `False`, что означает, что число не делится на каждую из своих цифр.
- Если все цифры числа делятся на число без остатка, функция вернет `True`, что означает, что число делится на каждую из своих цифр.

2. Мы просим пользователя ввести значение для `n` с помощью функции `input()`.
- Мы используем функцию `int()` для преобразования введенного значения в целое число.

3. Мы используем цикл `for i in range(1, n+1)` для перебора всех натуральных чисел от 1 до `n`.
- Внутри цикла мы проверяем, делится ли текущее число `i` на каждую из своих цифр, используя функцию `check_divisible(i)`.
- Если число делится на каждую из своих цифр, мы печатаем его с помощью функции `print()`.

Таким образом, программа будет выводить на экран все натуральные числа, не превосходящие `n` и делящиеся на каждую из своих цифр.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика