Задание 8. Системы счисления и комбинаторика. ЕГЭ 2026 по информатике
Средний процент выполнения: 47%
Ответом к заданию 8 по информатике может быть цифра (число) или слово.
Алгоритм решения задания 8:
- Прочитай условие и определи, какой способ измерения информации требуется использовать.
- Выясни, какие данные заданы: мощность алфавита, количество символов, вероятность событий или объём сообщения.
- Выбери соответствующую формулу для вычисления количества информации.
- Подставь данные из условия в формулу и выполни вычисления.
- При необходимости переведи результат в нужные единицы измерения.
- Проверь, что использован правильный метод измерения информации.
- Запиши ответ в требуемом формате.
Подпишись на суперполезные материалы
Задачи для практики
Задача 1
Все пятибуквенные слова, составленные из букв К, Л, О, У, Н, записаны в алфавитном порядке и пронумерованы.
Вот начало списка:
1. ККККК
2. ККККЛ
3. ККККН
4. ККККО
5. ККККУ
6. КККЛК
…
Определите, под каким номером в этом списке стоит последнее слово с чётным номером, которое не начинается с букв О или У, содержит не менее двух букв Н и при этом не содержит букв К и Л, стоящих рядом.
Примечание. Слово — последовательность идущих подряд букв, не обязательно осмысленная.
Решение
from itertools import product
alph = 'КЛНОУ'
result = None
c = 0
for i in product(alph, repeat=5):
slovo = ''.join(i)
c += 1
if c % 2 == 0:
if slovo[0] != 'О' and slovo[0] != 'У':
if slovo.count('Н') >= 2:
adjacent = False
for j in range(len(slovo) - 1):
if (slovo[j] == 'К' and slovo[j+1] == 'Л') or \
(slovo[j] == 'Л' and slovo[j+1] == 'К'):
adjacent = True
break
if not adjacent:
result = c
print(result)
Задача 2
Все шестибуквенные слова, составленные из букв Ф, О, Р, М, У, Л, А, записаны в алфавитном порядке и пронумерованы.
Вот начало списка:
1. АААААА
2. АААААЛ
3. АААААМ
4. АААААО
5. АААААР
6. АААААУ
7. АААААФ
…
Определите, под каким номером в этом списке стоит последнее слово с нечётным номером, которое не начинается с букв А или Л, содержит ровно две буквы О и при этом содержит букву Р, стоящую правее хотя бы одной буквы М.
Примечание. Слово — последовательность идущих подряд букв, не обязательно осмысленная.
Решение
from itertools import product
alph = 'АЛМОРУФ'
result = None
c = 0
for i in product(alph, repeat=6):
slovo = ''.join(i)
c += 1
if c % 2 != 0:
if slovo[0] != 'А' and slovo[0] != 'Л':
if slovo.count('О') == 2:
found = False
for j in range(len(slovo) - 1):
if slovo[j] == 'М':
for k in range(j + 1, len(slovo)):
if slovo[k] == 'Р':
found = True
break
if found:
break
if found:
result = c
print(result)
Задача 3
Все пятибуквенные слова, составленные из букв Д, И, С, К, О, записаны в алфавитном порядке и пронумерованы.
Вот начало списка:
1. ДДДДД
2. ДДДДИ
3. ДДДДК
4. ДДДДО
5. ДДДДС
6. ДДДИД
…
Определите, под каким номером в этом списке стоит последнее слово с нечётным номером, которое не начинается с букв Д или И и при этом содержит в своей записи ровно две буквы К.
Примечание. Слово — последовательность идущих подряд букв, не обязательно осмысленная.
Решение
from itertools import product
alph = 'ДИКОС'
result = None
c = 0
for i in product(alph, repeat=5):
slovo = ''.join(i)
c += 1
if c % 2 != 0:
if slovo[0] != 'Д' and slovo[0] != 'И':
if slovo.count('К') == 2:
result = c
print(result)
Задача 4
Все шестибуквенные слова, составленные из букв Е, К, О, Р, записаны в алфавитном порядке и пронумерованы, начиная с 1. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Ниже приведено начало списка:
- ЕЕЕЕЕЕ
- ЕЕЕЕЕК
- ЕЕЕЕЕО
- ЕЕЕЕЕР
- ЕЕЕЕКЕ
- ЕЕЕЕКК
...
Под каким номером в списке идёт первое слово, которое начинается на К и в котором буквы Р не стоят рядом?
Решение
cnt = 0
alphabet = 'ЕКОР'
for let1 in alphabet:
for let2 in alphabet:
for let3 in alphabet:
for let4 in alphabet:
for let5 in alphabet:
for let6 in alphabet:
cnt += 1
word = let1 + let2 + let3 + let4+ let5+ let6
if word[0] == 'К' and word.count('РР') == 0:
print(cnt)
print(cnt)
Задача 5
Определите количество натуральных чисел, удовлетворяющих одновременно всем следующим условиям:
- Семеричная запись числа содержит ровно 5 цифр;
- Сумма любых двух соседних цифр в семеричной записи числа является нечётной;
- Двоичная запись числа не содержит трёх идущих подряд нулей.
Решение
Приведём решение на Python
def is_valid_septenary(septenary_num):
# Проверка условия 2: сумма любых двух соседних цифр нечётна
for i in range(len(septenary_num) - 1):
if (int(septenary_num[i]) + int(septenary_num[i + 1])) % 2 == 0:
return False
return True
def has_three_consecutive_zeros(n):
# Проверка условия 3: двоичная запись не содержит трех идущих подряд нулей
binary_representation = bin(n)[2:] # Получаем двоичное представление без '0b'
return '000' in binary_representation
def to_septenary(num):
# Преобразование числа в семеричную систему
septenary_digits = ''
while num > 0:
septenary_digits = str(num % 7) + septenary_digits
num //= 7
return septenary_digits
count = 0
# Перебираем все числа от 2401 до 16806
for num in range(2401, 16807):
septenary_num = to_septenary(num) # Получаем семеричное представление
# Проверяем, что семеричная запись содержит ровно 5 цифр
if len(septenary_num) == 5 and is_valid_septenary(septenary_num) and not has_three_consecutive_zeros(num):
count += 1
print("Количество натуральных чисел, удовлетворяющих всем условиям:", count)
Задача 6
Все шестибуквенные слова, составленные из букв Е, К, О, Р, записаны в алфавитном порядке и пронумерованы, начиная с 1. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Ниже приведено начало списка:
- ЕЕЕЕЕЕ
- ЕЕЕЕЕК
- ЕЕЕЕЕО
- ЕЕЕЕЕР
- ЕЕЕЕКЕ
- ЕЕЕЕКК
...
Под каким номером в списке идёт первое слово, которое начинается на О и в котором буквы Е не стоят рядом?
Решение
cnt = 0
alphabet = 'ЕКОР'
for let1 in alphabet:
for let2 in alphabet:
for let3 in alphabet:
for let4 in alphabet:
for let5 in alphabet:
for let6 in alphabet:
cnt += 1
word = let1 + let2 + let3 + let4+ let5+ let6
if word[0] == 'О' and word.count('ЕЕ') == 0:
print(cnt)
print(cnt)
Задача 7
Дима составляет пятибуквенные слова, в которых есть только буквы А, Б, В, Г, Д, Е, причём в каждом слове буква Г используется ровно 2 раза. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует таких слов, которые может составить Дима?
Решение
cnt = 0
alphabet = 'АБВГДЕ'
for let1 in alphabet:
for let2 in alphabet:
for let3 in alphabet:
for let4 in alphabet:
for let5 in alphabet:
word = let1 + let2 + let3 + let4 + let5
if word.count('Г') == 2:
cnt += 1
print(cnt)
Задача 8
Определите количество шестизначных чисел, записанных в семеричной системе счисления, которые не начинаются с нечётных цифр, не оканчиваются чётными цифрами, а также содержат в своей записи не более одной цифры 5.
Решение
cnt = 0
alphabet = '0123456'
for let1 in '246':
for let2 in alphabet:
for let3 in alphabet:
for let4 in alphabet:
for let5 in alphabet:
for let6 in '135':
word = let1+let2+let3+let4+let5+let6
if word.count('5') <= 1:
cnt += 1
print(cnt)
Задача 9
Определите количество натуральных чисел, удовлетворяющих одновременно всем следующим условиям:
- Восьмеричная запись числа содержит ровно 4 цифры;
- Сумма любых двух соседних цифр в восьмеричной записи числа нечётна;
- Двоичная запись числа не содержит трёх идущих подряд единиц.
Решение
Приведём решение на Python
def is_valid_octal(octal_num):
# Проверка условия 2: сумма любых двух соседних цифр нечётна
for i in range(len(octal_num) - 1):
if (int(octal_num[i]) + int(octal_num[i + 1])) % 2 == 0:
return False
return True
def has_three_consecutive_ones(n):
# Проверка условия 3: двоичная запись не содержит трех идущих подряд единиц
binary_representation = bin(n)[2:] # Получаем двоичное представление без '0b'
return '111' in binary_representation
count = 0
# Перебираем все числа от 512 до 4095
for num in range(512, 4096):
octal_num = oct(num)[2:] # Получаем восьмеричное представление без '0o'
# Проверяем, что восьмеричная запись содержит ровно 4 цифры
if len(octal_num) == 4 and is_valid_octal(octal_num) and not has_three_consecutive_ones(num):
count += 1
print("Количество натуральных чисел, удовлетворяющих всем условиям:", count)
Задача 10
Определите количество пятизначных чисел, записанных в семеричной системе счисления, в записи которых только одна цифра 4, при этом ни одна нечётная цифра не стоит рядом с цифрой 4.
Решение
cnt = 0
alphabet = '0123456'
wrong = ["41", "43", "45", "14", "34", "54"]
for let1 in '123456':
for let2 in alphabet:
for let3 in alphabet:
for let4 in alphabet:
for let5 in alphabet:
word = let1+let2+let3+let4+let5
Flag = True
for i in wrong:
if word.count(i) >= 1:
Flag = False
if word.count('4') == 1 and Flag:
cnt += 1
print(cnt)
Задача 11
Саша составляет слова, переставляя буквы из слова «ИДИЛЛИЯ». Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует различных слов, которые может написать Саша?
Решение
Приведём решение на Python
import math
# Общее количество букв
n = 7
# Факториалы для повторяющихся букв
count_I = 3
count_L = 2
# Количество различных слов
distinct_words = math.factorial(n) // (math.factorial(count_I) * math.factorial(count_L))
print("Количество различных слов, которые может написать Саша:", distinct_words)
Задача 12
Саша составляет слова, переставляя буквы из слова «КАЛИНКА». Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует различных слов, которые может написать Саша?
Решение
Приведём решение на Python
import math
# Общее количество букв
n = 7
# Факториалы для повторяющихся букв
count_K = 2
count_A = 2
# Количество различных слов
distinct_words = math.factorial(n) // (math.factorial(count_K) * math.factorial(count_A))
print("Количество различных слов, которые может написать Саша:", distinct_words)
Задача 13
Саша составляет шестизначные числа, оканчивающиеся на 34, причём цифры в числе не могут повторяться, и каждое число содержит или ровно три чётные цифры, или ровно две нечётные цифры. Сколько различных чисел может составить Саша?
Решение
cnt = 0
alphabet = '0123456789'
for let1 in '123456789':
for let2 in alphabet:
for let3 in alphabet:
for let4 in alphabet:
for let5 in '3':
for let6 in '4':
word = let1 + let2 + let3 + let4 + let5 + let6
cnt_4et = cnt_ne4et = 0
for i in word:
if int(i) % 2 == 0:
cnt_4et += 1
else:
cnt_ne4et += 1
if word.count('0') <= 1 and word.count('1') <= 1 and word.count('2') <= 1 and word.count(
'3') <= 1 and word.count('4') <= 1 and word.count('5') <= 1 and word.count(
'6') <= 1 and word.count('7') <= 1 and word.count('8') <= 1 and word.count('9') <= 1:
if (cnt_4et == 3 or cnt_ne4et == 2):
cnt += 1
print(cnt)
Задача 14
Все пятибуквенные слова, в составе которых могут быть только буквы Л, Е, М, У, Р, записаны в алфавитном порядке и пронумерованы, начиная с 0.
Ниже приведено начало списка.
0. ЕЕЕЕЕ
1. ЕЕЕЕЛ
2. ЕЕЕЕМ
3. ЕЕЕЕР
4. ЕЕЕЕУ
5. ЕЕЕЛЕ
…
Под каким номером в списке идёт первое слово, которое начинается с буквы М и содержит ровно 1 букву Е и 1 букву Л?
Решение
Для начала нужно определить, что это за слово такое. Начинается с буквы М, должно быть первым в алфавитном порядке и содержать по одной Е и Л. Буквы Е и Л идут раньше других в алфавите, значит после М будет Е и Л. МЕЛ. Следующая в алфавитном порядке буква М. Тогда получим слово: МЕЛММ
Обратим внимание, что наши буквы напоминаю 5ричную систему счисления. Тогда можно сделать следующие замены: Е - 0, Л - 1, М - 2, Р - 3, У - 4.
Заменим наше слово МЕЛММ на полученные цифры: 20122
Переведём в десятичную систему: 20122 = 2 * 50 + 2 * 51 + 1 * 52 + 0 * 53 + 2 * 54 = 2 + 10 + 25 + 1250 = 1287
Обрати внимание, что нумерация с нуля, поэтому сдвиг не требуется
Задача 15
Леонид составляет 6-буквенные слова из букв Л, Е, О, Н, И, Д. Каждую букву нужно использовать ровно 1 раз, при этом нельзя ставить подряд две гласные или две согласные. Сколько различных слов может составить Леонид? Слова не обязательно должны быть осмысленными.
Решение
«Виселица» из 6 букв _ _ _ _ _ _
Согласные буквы: Л, Н, Д - 3 буквы
Гласные буквы: Е, О, И- 3 буквы
Рассмотрим слова, начинающиеся с согласной буквы: на первом месте может стоять одна из 3 букв: 3 _ _ _ _ _
На второй позиции мы можем поставить только гласную букву, чтобы выполнялось условие задачи, одну из трёх букв: 3 3 _ _ _ _
На третей позиции 2 из оставшихся согласных букв, поскольку не должны повторяться: 3 3 2 _ _ _
И так далее чередуем согласные и гласные буквы: 3 3 2 2 1 1. Итого получаем 3*3*2*2*1*1 = 36 слов, начинающихся с согласной буквы.
Аналогичным образом считаем слова, начинающиеся на гласную букву и получаем также 36 слов.
Итого 36+36=72 слова.
Задача 16
Борислав составляет 7-буквенные коды из букв Б, О, Р, И, С, Л, А, В. Каждую букву нужно использовать ровно 1 раз, при этом нельзя ставить подряд две гласные или две согласные, при условии, что на первом месте не может стоять гласная буква. Сколько различных кодов может составить Борислав?
Решение
Если на первом месте не может стоять гласная буква, значит код может начинаться только на согласную букву.
«Виселица» из 7 букв _ _ _ _ _ _ _
Согласные буквы: Б, Р, С, Л, В - 5 букв
Гласные буквы: О, И, А - 3 буквы
Рассмотрим коды, начинающиеся с согласной буквы: на первом месте может стоять одна из 5 букв: 5 _ _ _ _ _ _
На второй позиции мы можем поставить только гласную букву, чтобы выполнялось условие задачи, одну из трёх букв: 5 3 _ _ _ _ _
На третей позиции 4 из оставшихся согласных букв, поскольку не должны повторяться: 5 3 4 _ _ _ _
И так далее чередуем согласные и гласные буквы: 5 3 4 2 3 1 2. Итого получаем 5*3*4*2*3*1*2 = 720 кодов, начинающихся с согласной буквы.
Задача 17
Сколько существует четырёхзначных чисел в шестеричной системе счисления?
Решение
На первом месте может стоять любая цифра, кроме нуля (5 вариантов). На 2-ом, 3-ем и 4-ом местах любая цифра (6 вариантов).
Итого: 5 · 6 · 6 · 6 = 1080 чисел
Ответ: 1080.
Задача 18
Все шестибуквенные слова, составленные из букв А, М, О, Р, записаны в алфавитном порядке и пронумерованы. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Вот начало списка:
1. АААААА
2. АААААМ
3. АААААО
4. АААААР
5. ААААМА
6. ААААММ
. . .
Сколько слов расположено между словами МАОМАО и РАОРАО?
(Слова МАОМАО и РАОРАО не учитывать.)
Решение
Напишем решение на Python для этой задачи
alphabet = 'АМОР'
number = 0
for a1 in alphabet:
for a2 in alphabet:
for a3 in alphabet:
for a4 in alphabet:
for a5 in alphabet:
for a6 in alphabet:
word = a1 + a2 + a3 + a4+a5+a6
number += 1
if word == 'МАОМАО' or word == 'РАОРАО':
print(number)
Два полученных числа это 3251 и 1171, вычтем первое из второго и получим количество слов между ними, и не забудь вычесть 1, так как оба слова мы не считаем
Задача 19
Все шестибуквенные слова, составленные из букв А, М, О, Р, записаны в алфавитном порядке и пронумерованы. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Вот начало списка:
- АААААА
- АААААМ
- АААААО
- АААААР
- ААААМА
- ААААММ . . .
Сколько слов расположено между словами РРАОМР и РОАРМР? (Слова РРАОМР и РОАРМР не учитывать.)
Решение
Каждой букве ставим в соответствие цифру: А - 0, М - 1, О - 2, Р - 3. Каждому слову в списке можно поставить в соответствие число в системе счисления с основанием 4:
РРАОМР = $330213_4$, РОАРМР = $320313_4$
Чтобы вычислить кол-во слов между словами, найдём разность между числами, которым они соответствуют: 330213-320313=$3300_4$. Поскольку сами слова учитывать не нужно, вычтем ещё 1 (если бы учитывать нужно было, то прибавляли) и получаем $3233_4 = 239_10$.
Задача 20
Все шестибуквенные слова, составленные из букв А, М, О, Р, записаны в алфавитном порядке и пронумерованы. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Вот начало списка:
1. АААААА
2. АААААМ
3. АААААО
4. АААААР
5. ААААМА
6. ААААММ
. . .
Сколько слов расположено между первым словом, начинающимся на РО, и последним словом, оканчивающимся на РО (включая эти слова)?
Решение
Для составления слов используется 4 различные буквы. Поставим в соответствие каждой из букв цифры системы счисления с основанием 4 (с учётом порядка их следования в алфавите): А - 0, М - 1, О - 2, Р - 3.
Тогда упорядоченной по алфавиту последовательности слов
1. AAAААA
2. АААААМ
3. АААААО
4. АААААР
5. ААААМА
. . .
будут соответствовать числа в системе счисления с основанием 4:
1. $000000_4 = 0_{10}$
2. $000001_4 = 1_{10}$
3. $000002_4 = 2_{10}$
4. $000003_4 = 3_{10}$
5. $000010_4 = 4_{10}$
. . .
Первым словом, начинающимся на РО, является РОАААА, и ему соответствует число
$320000_4 = 3 · 4^5 + 2 · 4_{10}^4$.
Последним словом, оканчивающимся на РО, является РРРРРО, и ему соответствует число
$333332_4 = 3 · 4^5 + 3 · 4^4 + 3 · 4^3 + 3 · 4^2 + 3 · 4^1 + 2 · 4_{10}^0$.
Количество слов расположенное между словами РОАААА и РРРРРО (включая эти слова) равно
$3 · 4^5 + 3 · 4^4 + 3 · 4^3 + 3 · 4^2 + 3 · 4^1 + 2 · 4^0 - (3 · 4^5 + 2 · 4^4) + 1 = 4^4 + 3 · 4^3 + 3 · 4^2 + 3 · 4^1 + 2 · 4^0 + 1 = 2 · 4^4 - 1 = 511$.
Ответ: 511.
Рекомендуемые курсы подготовки
- 🔥 Изучишь одни из самых фундаментальных тем информатики
- 🔥 Научишься решать 6 задач формата ЕГЭ руками
- 🔥 Начнёшь свой путь в проге
- 🔥 Учёба на Турбо: познакомишься с преподавателями и личным кабинетом
Что тебя ждет?
- 8 вебинаров (1 веб в неделю по 1 часу)
- Тестовые Д/З после каждого занятия
- Конспекты и скрипты к урокам
- Доступ к личному кабинету
- Возможность отрабатывать задания ЕГЭ в любое время
- Чат с единомышленниками
- Поддержка препа 24/7
на бесплатном курсе Турбо ЕГЭ