Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 16. Информатика. ЕГЭ. Поляков-6347
- Просмотры: 56
- Изменено: 10 августа 2026
*Обозначим частное от деления натурального числа \(a\) на натуральное число \(b\) как \(a \, // \, b,\) а остаток как \(a \, \% \,b.\) Алгоритмы вычисления функций \(F(n)\) и \(G(n)\) где \(n\) – натуральное число, заданы следующими соотношениями:
- \(F(n) = n,\) если \(n < 10;\)
- \(F(n) = F(G(n)),\) если \(n \geqslant 10;\)
- \(G(n) = F(n),\) если \(n < 10;\)
- \(G(n) = G(n \, \% \, 10) + G(n \, // \, 10),\) если \(n \geqslant 10.\)
Определите количество таких чисел \(n,\) принадлежащих отрезку \(100~000~000 \leqslant n \leqslant 200~000~000,\) для которых \(F(n) = 3.\)
Решение:
Нетрудно понять, что функция \(G(n)\) вычисляет сумму цифр числа. При \(n > 9\) функция \(F(n) = F(G(n))\) вызывается рекурсивно, постоянно вычисляя сумму цифр числа. И если получившаяся сумма оказывается больше \(9,\) то для получившегося числа опять вычисляется сумма цифр. И так до тех пор, пока не получится однозначное число. Хорошо известно, что это число есть ни что иное, как остаток деления исходного числа на \(9.\) Т.о., условие задачи можно сформулировать так: сколько существует чисел на отрезке \([100~000~000;~200~000~000],\) имеющих остаток от деления на \(9\) равный \(3.\) Первым таким числом будет \(100~000~002.\) Понятно, что всего таких чисел будет $$N = \left\lfloor \frac{200~000~000 - 100~000~002}{9} \right\rfloor + 1 = 11111111$$ Ну или программно:
Python
print(len(range(100_000_002, 200_000_001, 9)))
Ответ: \(11111111\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


