Задание №8 ЕГЭ Информатика с ответом и решением
Ответ: ТМТС
Условие
Все 4-буквенные слова, составленные из букв М, С, Т, Ф, записаны в алфавитном порядке.
Вот начало списка:
1. ММММ
2. МММС
3. МММТ
4. МММФ
5. ММСМ
...
Запишите слово, которое стоит на 138-м месте от начала списка.
Подсказки — как подойти к решению
- Алфавитный порядок слов одинаковой длины превращает список в последовательность чисел, если заменить буквы цифрами по их алфавитному порядку.
- Основание системы счисления равно числу различных букв в условии, а код слова на единицу меньше его номера в списке.
- Переведи код в систему счисления по числу букв, допиши нули слева до длины слова, замени цифры буквами и проверь себя, переведя полученный код обратно в десятичный вид.
Решение
Заменим буквы на цифры: М — 0, С — 1, Т — 2, Ф — 3.
Теперь запишем 4-буквенный слова в новом алфавите:
1. 0000
2. 0001
3. 0002
4. 0003
5. 0010
...
Полученный ряд — числа в четверичной системе счисления, записанные по возрастанию. Тогда на 138-м месте будет стоять число 137 (на 1-м месте стоит 0).
Переведём число 137 в четверичную систему счисления:
13710 = 20214.
Теперь снова вернёмся к буквенному алфавиту: 2021 = ТМТС.
Ответ: ТМТС.
Приведём другое решение на языке 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)):
k += 1
if k == 138:
print(a[i], a[j], a[g], a[m], end=" ")
Приведём решение Владимира Артамонова на языке Python.
from itertools import product
words = list(product('МСТФ', repeat=4))
print(*words[137])
Приведём решение Юрия Красильникова на языке Python.
from itertools import product
print([''.join(p) for p in product('МСТФ', repeat=4)][138-1])
Приведём решение Сергея Донец на языке PascalABC.NET.
begin
'М, С, Т, Ф, '.Remove(', ')
.Sorted.Cartesian(4).Numerate
.Where(\(n,s)->n=138)
.First//(138,[Т,М,Т,С])
.Item2//ТМТС
.Print;
end.
Типичные ошибки
- Использован номер слова вместо числа на единицу меньшего: сдвиг на единицу меняет младший разряд кода.
- Перепутан порядок разрядов — цифры записаны от младшего к старшему; при делении с остатком остатки собираются в обратном порядке.
В тренажёре: подсказки по шагам, разбор твоей ошибки ИИ-репетитором (он не даёт готовый ответ), повторение ошибок по интервалам и общий прогресс. Все задания №8 по информатике