Добавить в корзинуПозвонить
Найти в Дзене

Нашел интересную задачку от ИИ Яндекса с сборника по подготовке к ЕГЭ

Автор: Яндекс учебник Уровень: Средний Условие задачи: Существуют числа, обладающие свойствами: 1. Число делится на все свои цифры; 2. Число, полученное из данного числа записью цифр в обратном порядке, тоже делится на все свои цифры. Примером такого числа является 216. Сколько существует трёхзначных чисел, без нулей в записи, обладающих этими свойствами? Примером такого числа является 216. Сколько существует трёхзначных чисел, без нулей в записи, обладающих этими свойствами? Теоретическая справка: Считаю такую задачу весьма интересной для практики программирования, да тут нет ничего похожего с задачами ФИПИ, но практика дает нам много ценного опыта. Код решения: Комментарии к коду: 1. cnt = 0 - Инициализируется переменная cnt для подсчета количества чисел, удовлетворяющих условиям задачи. 2. for n in range(100, 1000): - Цикл for перебирает все трехзначные числа от 100 до 999 включительно. 3. # if str(n).count('0') == 0: - Закомментированная строка изначально проверяла, что в числе n н

Автор: Яндекс учебник

Уровень: Средний

Условие задачи:

Существуют числа, обладающие свойствами:

1. Число делится на все свои цифры;

2. Число, полученное из данного числа записью цифр в обратном порядке, тоже делится на все свои цифры.

Примером такого числа является 216. Сколько существует трёхзначных чисел, без нулей в записи, обладающих этими свойствами?

Примером такого числа является 216. Сколько существует трёхзначных чисел, без нулей в записи, обладающих этими свойствами?

Теоретическая справка:

Считаю такую задачу весьма интересной для практики программирования, да тут нет ничего похожего с задачами ФИПИ, но практика дает нам много ценного опыта.

Код решения:

Ответ: 16
Ответ: 16

Комментарии к коду:

1. cnt = 0

- Инициализируется переменная cnt для подсчета количества чисел, удовлетворяющих условиям задачи.

2. for n in range(100, 1000):

- Цикл for перебирает все трехзначные числа от 100 до 999 включительно.

3. # if str(n).count('0') == 0:

- Закомментированная строка изначально проверяла, что в числе n нет нулей.

4. if '0' not in str(n):

- Проверяется, что число n не содержит цифру '0'.

5. if all(n % int(x) == 0 for x in str(n)):

- Проверяется, что число n делится на каждую из своих цифр без остатка.

6. new_n = int(str(n)[::-1])

- Переменная new_n получает значение числа n с цифрами в обратном порядке.

7. if all(new_n % int(x) == 0 for x in str(new_n)):

- Проверяется, что число new_n также делится на каждую из своих цифр без остатка.

8. cnt += 1

- Увеличивается счетчик cnt на 1, если оба условия делимости выполняются.

9. print(cnt)

- Выводится общее количество чисел, удовлетворяющих всем условиям.

Информатика ЕГЭ | itpy 🧑‍💻

Поддержать автора донатом 💵