Зачем это в ЕГЭ. Задание 25 проверяет умение анализировать числа по свойствам их цифр (2 первичных балла). Встречается в ~30% реальных вариантов, требует комбинации арифметики и программистской логики.
Главная идея. Числа обрабатываются поцифрово через разложение на цифры (n % 10, n // 10) или преобразование в строку. Ключ — корректный перебор условий для цифр и их комбинаций.
Алгоритм (чеклист).
1. Определить, как получить цифры числа (математически или через строки).
2. Сформулировать условие для цифр на основе задачи (чётность, делимость, порядок).
3. Реализовать перебор чисел в заданном диапазоне.
4. Проверить каждое число на соответствие условиям.
5. Вывести результат (количество чисел, максимальное/минимальное число и т.д.).
6. Протестировать на крайних случаях (например, числа из одинаковых цифр).
Опоры (кратко).
- Разложение числа на цифры:
`python
while n > 0:
digit = n % 10
n = n // 10
`
- Проверка чётности: digit % 2 == 0.
- Условие возрастания цифр: digits[i] < digits[i+1] для всех i.
Пример 1 (количество чисел с условием).
Шаг 1. Дано: диапазон 1000-9999, найти числа, где все цифры чётные.
Шаг 2. Перебираем каждое число от 1000 до 9999.
Шаг 3. Для каждого числа проверяем все цифры: all(digit % 2 == 0 for digit in digits).
Шаг 4. Если условие выполняется, увеличиваем счётчик.
Шаг 5. Выводим счётчик.
Пример 2 (максимальное число с условием).
Шаг 1. Дано: диапазон 100-500, найти максимальное число, где цифры идут в неубывающем порядке.
Шаг 2. Перебираем числа от 500 до 100 в обратном порядке.
Шаг 3. Проверяем условие: digits[i] <= digits[i+1] для всех i.
Шаг 4. Первое найденное число — ответ.
Типичные ошибки.
1. Неправильный диапазон перебора — включение/исключение границ.
2. Ошибка в условии для цифр — например, проверка только первой и последней цифры.
3. Неучёт крайних случаев — числа из одинаковых цифр.
4. Оптимизация — перебор с конца для поиска максимума/минимума.
Дальше. Разбери задачи на комбинации условий (например, чётность + сумма цифр).