πЕГЭ · ИИ-репетитор12 предметов · задания ФИПИ
Главная → Информатика → Задания №8 → Задание i08-04

Задание №8 ЕГЭ Информатика с ответом и решением

Ответ: УРРТ

Условие

Все 4-⁠буквенные слова, составленные из букв Н, Р, Т, У, записаны в алфавитном порядке. Вот начало списка:

1. НННН

2. НННР

3. НННТ

4. НННУ

5. ННРН

Запишите слово, которое стоит на 215-⁠м месте от начала списка.

Подсказки — как подойти к решению

  1. Все слова одинаковой длины, идущие в алфавитном порядке, — это числа фиксированной разрядности в системе счисления, основание которой определяется числом различных букв.
  2. Замени буквы цифрами по алфавиту и свяжи номер слова с числом: код слова на единицу меньше его номера в списке.
  3. Переведи код в систему счисления по числу букв, следи, что старший разряд получается последним при делении с остатком, дополни запись нулями слева до нужной длины и вернись к буквам.

Решение

Заменим буквы Н, Р, Т, У, на 0, 1, 2, 3 соответственно.

Выпишем начало списка, заменив буквы на цифры.

1. 0000

2. 0001

3. 0002

4. 0003

5. 0010

...

Полученная запись есть числа, записанные в четверичной системе счисления в порядке возрастания. Тогда на 215-м месте будет стоять число 214 (так как первое число — 0). Переведём число 214 в четверичную систему:

214 / 4 = 53 (2)

53 / 4 = 13 (1)

13 / 4 = 3 (1)

3 / 4 = 0 (3)

В четверичной системе 214 запишется как 3112. Произведём обратную замену и получим УРРТ.

Ответ: УРРТ.

Приведём другое решение на языке 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 == 215:

print(a[i], a[j], a[g], a[m], end=" ")

Приведём решение Владимира Артамонова на языке Python.

from itertools import product

words = list(product('НРТУ', repeat=4))

print(*words[214])

Приведём решение Юрия Красильникова на языке Python.

from itertools import product

print([''.join(p) for p in product('НРТУ', repeat=4)][215-1])

Приведём решение Сергея Донец на языке PascalABC.NET.

begin

'Н, Р, Т, У, '.Remove(', ')

.Sorted.Cartesian(4).Numerate

.Where(\(n,s)->n=215)

.First

.Item2

.Print;

end.

Типичные ошибки

Решить это задание в тренажёре

В тренажёре: подсказки по шагам, разбор твоей ошибки ИИ-репетитором (он не даёт готовый ответ), повторение ошибок по интервалам и общий прогресс. Все задания №8 по информатике