Задание №8 ЕГЭ Информатика с ответом и решением
Ответ: 841
Условие
Все 5-буквенные слова, составленные из букв А, К, Р, У, записаны в алфавитном порядке. Вот начало списка:
1. ААААА
2. ААААК
3. ААААР
4. ААААУ
5. АААКА
...
Укажите номер слова УКАРА.
Подсказки — как подойти к решению
- Сопоставь буквам цифры по алфавитному порядку и рассматривай слово как число в системе счисления с основанием, равным числу разных букв. Старшая буква даёт наибольший вес.
- Переведи запись в десятичную систему, следя за весами разрядов: крайняя левая цифра умножается на наибольшую степень основания. Затем учти, что строки нумеруются с единицы.
Решение
Заменим буквы А, К, Р, У на 0, 1, 2, 3 соответственно (для них порядок очевиден — по возрастанию).
Выпишем начало списка, заменив буквы на цифры:
1. 00000
2. 00001
3. 00002
4. 00003
5. 00010
...
Полученная запись есть числа, записанные в четверичной системе счисления в порядке возрастания. Запишем слово УКАРА в четверичной системе (31020) и переведём его в десятичную:
3 · 44 + 1 · 43 + 2 · 41 = 768 + 64 + 8 = 840.
Не забудем о том, что есть слово номер 1, записывающееся как 0, а значит, 840 — число, соответствующее номеру 841.
Ответ: 841.
Приведём другое решение на языке 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 i == 3 and j == 1 and g == 0 and m == 2 and n == 0:
print(k)
Приведём решение Виктории Фокиной на языке Python.
from itertools import*
count = 0
for w in product('акру',repeat=5):
word = ''.join(w)
count += 1
if word == 'укара':
print(count)
Типичные ошибки
- Ты верно нашёл значение слова как числа, но не учёл нумерацию строк: первая строка списка соответствует нулю, поэтому номер на единицу больше. Увеличь результат перевода на единицу.
В тренажёре: подсказки по шагам, разбор твоей ошибки ИИ-репетитором (он не даёт готовый ответ), повторение ошибок по интервалам и общий прогресс. Все задания №8 по информатике