Миша написал программу, которая по заданному ей одному натуральному числу () выдаёт ряд чисел () по следующим правилам:
-
;
-
для всех : если , то , иначе .
а) Может ли в ряду быть число 140?
б) Может ли в ряду быть число 190?
в) Какое количество различных чисел будет в ряду, если ?
Сборник Ященко 2027. Вариант №7
Решение:
Главное наблюдение (инвариант): все числа ряда дают остаток 4 при делении на 6.
- . Так как , а делится на 6, остаток равен 4.
- Пусть даёт остаток 4. Если , то остаток тот же — 4 (вычли кратное 6). Если , то даёт остаток 4, а квадрат — остаток , т. е. снова 4.
Значит, по цепочке все числа ряда дают остаток 4 при делении на 6. Такое свойство, которое не меняется на каждом шаге, называют инвариантом — это главный инструмент для ответа «нет».
Пункт а). — остаток 2, а не 4. Значит, 140 в ряду быть не может ни при каком . Ответ: нет.
Пункт б). — остаток 4, запрета нет. Подберём : удобно, чтобы делилось на . При : , , (), (). Ответ: да.
Пункт в). , , .
Шаг 1. Пока число больше 192, вычитаем 192: . Это 5 чисел.
Шаг 2. , поэтому следующее число — квадрат: .
Шаг 3. . Вычитаем 192 ровно 120 раз и доходим до 64. Получаем числа , — это 121 число (последнее — 64).
Шаг 4. , следующее — . Но — это число вида (при ), оно уже было. Дальше ряд повторяет уже встречавшиеся числа.
Проверка, что числа шагов 1 и 3 не совпадают: числа шага 1 дают остаток 40 при делении на 192, а шага 3 — остаток 64.
Всего различных чисел: . До начала повторов выписано 126 чисел — меньше 1000, так что все они действительно появятся.
Ответ: а) нет; б) да; в) 126.