Задание №8 ЕГЭ Информатика с ответом и решением
Ответ: КККУК
Условие
Все 5-буквенные слова, составленные из букв А, К, Р, У, записаны в алфавитном порядке. Вот начало списка:
1. ААААА
2. ААААК
3. ААААР
4. ААААУ
5. АААКА
...
Запишите слово, которое стоит на 350-м месте от начала списка.
Подсказки — как подойти к решению
- Сопоставь буквам цифры по алфавитному порядку: список слов превратится в перечень чисел, записанных в системе счисления с основанием, равным числу используемых букв, в порядке возрастания.
- Помни про сдвиг: первая строка списка соответствует нулю, поэтому от номера нужно отнять единицу. Переведи полученное число в нужную систему счисления и дополни запись слева нулями до пяти цифр.
Решение
Заменим буквы А, К, Р, У на 0, 1, 2, 3 соответственно (для них порядок очевиден — по возрастанию).
Выпишем начало списка, заменив буквы на цифры:
1. 00000
2. 00001
3. 00002
4. 00003
5. 00010
...
Полученная запись есть числа, записанные в четверичной системе счисления в порядке возрастания. Тогда на 350-м месте будет стоять число 349 (так как первое число — 0). Переведём число 349 в четверичную систему (деля и снося остаток справа налево):
349 / 4 = 87 (1)
87 / 4 = 21 (3)
21 / 4 = 5 (1)
5 / 4 = 1 (1)
1 / 4 = 0 (1)
В четверичной системе 349 запишется как 11131. Произведём обратную замену и получим КККУК.
Ответ: КККУК.
Приведём другое решение на языке Python.
a = {0: "А", 1: "К", 2: "Р", 3: "У"}
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 == 350:
print(a[i], a[j], a[g], a[m], a[n], end=" ")
Приведём решение Владимира Артамонова на языке Python.
from itertools import product
words = product('АКРУ', repeat=5)
print(*list(words)[349])
Приведём решение Юрия Красильникова на языке Python.
from itertools import product
print([''.join(p) for p in product('АКРУ', repeat=5)][350-1])
Приведём решение Сергея Донец на языке PascalABC.NET.
begin
'А, К, Р, У, '.Remove(', ')
.Sorted.Cartesian(5).Numerate
.Where(\(n,s)->n=350)
.First.Item2.Print;
end.
Типичные ошибки
- Ты сдвинулся на одну позицию: первая строка списка соответствует нулю, поэтому перед переводом из номера вычитают единицу. Проверь также, что цифр в записи ровно столько, сколько букв в слове.
В тренажёре: подсказки по шагам, разбор твоей ошибки ИИ-репетитором (он не даёт готовый ответ), повторение ошибок по интервалам и общий прогресс. Все задания №8 по информатике