Задание №8 ЕГЭ Информатика с ответом и решением
Ответ: ПННАП
Условие
Все 5-буквенные слова, составленные из букв А, Н, П, записаны в алфавитном порядке.
Вот начало списка:
1. ААААА
2. ААААН
3. ААААП
4. АААНА
5. АААНН
...
Запишите слово, которое стоит на 201-м месте от начала списка.
Подсказки — как подойти к решению
- Такой список — это фактически все числа фиксированной длины, записанные по возрастанию в системе счисления с основанием, равным числу различных букв в условии.
- Замени буквы цифрами в порядке их следования в алфавите и не забудь, что код слова на единицу меньше его номера, а запись кода дополняется нулями слева до длины слова.
- Переведи нужное число в систему счисления по числу букв делением с остатками, собери остатки в правильном порядке, дополни запись до нужной длины, замени цифры буквами и проверь результат обратным переводом.
Решение
Заменим все буквы на цифры по правилу А = 0, Н = 1, П = 2. Получим такой список:
1. 00000
2. 00001
3. 00002
...
Можно заметить, что теперь это ряд чисел, записанный в троичной системе счисления. Тогда на 201-м месте стоит число 200. Осталось только перевести его в троичную систему счисления, после чего записать с помощью букв в начальном алфавите.
20010 = 211023.
21102 = ПННАП.
Ответ: ПННАП.
Приведём другое решение на языке Python.
a = {0: "А", 1: "Н", 2: "П"}
k = 0
for i in range(0, len(a)):
for j in range(0, len(a)):
for g in range(0, len(a)):
for m in range(0, len(a)):
for n in range(0, len(a)):
k += 1
if k == 201:
print(a[i], a[j], a[g], a[m], a[n], end=" ")
Приведём решение Владимира Артамонова на языке Python.
from itertools import product
words = list(product('АНП', repeat=5))
print(*words[200])
Приведём решение Юрия Красильникова на языке Python.
from itertools import product
print([''.join(p) for p in product('АНП', repeat=5)][201-1])
Типичные ошибки
- Из номера не вычтена единица, поэтому поменялся младший разряд; первое слово списка кодируется нулями, а не единицей.
- Остатки от деления выписаны в обратном порядке — цифровой код получился перевёрнутым; собирай остатки от старшего разряда к младшему.
В тренажёре: подсказки по шагам, разбор твоей ошибки ИИ-репетитором (он не даёт готовый ответ), повторение ошибок по интервалам и общий прогресс. Все задания №8 по информатике