Текстовые решения некоторых заданий
| Site: | Не ждем, а готовимся! |
| Course: | 8 задание (программное решение) |
| Book: | Текстовые решения некоторых заданий |
| Printed by: | Гость |
| Date: | Thursday, 13 August 2026, 2:28 AM |
1. Демоверсия 2022
Все четырёхбуквенные слова, в составе которых могут быть только буквы Л, Е, М, У, Р, записаны в алфавитном порядке и пронумерованы, начиная с 1.
Ниже приведено начало списка.
1. ЕЕЕЕ
2. ЕЕЕЛ
3. ЕЕЕМ
4. ЕЕЕР
5. ЕЕЕУ
6. ЕЕЛЕ
…
Под каким номером в списке идёт первое слово, которое начинается с буквы Л?
1.1. Программное решение itertools
Все четырёхбуквенные слова, в составе которых могут быть только буквы Л, Е, М, У, Р, записаны в алфавитном порядке и пронумерованы, начиная с 1.
Ниже приведено начало списка.
1. ЕЕЕЕ
2. ЕЕЕЛ
3. ЕЕЕМ
4. ЕЕЕР
5. ЕЕЕУ
6. ЕЕЛЕ
…
Под
каким номером в списке идёт первое слово, которое начинается с буквы Л?
#Подключаем библиотеку itertools
from itertools import *
#Формируем комбинации длины 4
p=product("ЕЛМРУ",repeat=4)
#Создаем переменную для подсчета текущего номера
numb=0
#Перебираем комбинации
for c in p:
#Увеличиваем на 1 номер комбинации
numb+=1
#Если первый символ это Л
if(c[0]=="Л"):
#Печатаем на экран номер текущей комбинации
print(numb)
В ответ пишем первый подошедший номер.
Ответ: 126.
1.2. Программное решение
Все четырёхбуквенные слова, в составе которых могут быть только буквы Л, Е, М, У, Р, записаны в алфавитном порядке и пронумерованы, начиная с 1.
Ниже приведено начало списка.
1. ЕЕЕЕ
2. ЕЕЕЛ
3. ЕЕЕМ
4. ЕЕЕР
5. ЕЕЕУ
6. ЕЕЛЕ
…
Под
каким номером в списке идёт первое слово, которое начинается с буквы Л?
#Создаем алфавит в порядке перебора
alph="ЕЛМРУ"
#Создаем переменную для подсчета текущего номера
numb=0
#Перебираем 1/2/3/4 символы в строке
for s1 in alph:
for s2 in alph:
for s3 in alph:
for s4 in alph:
#Увеличиваем на 1 номер комбинации
numb+=1
#Если первый символ это Л
if(s1=="Л"):
#Печатаем на экран номер текущей комбинации
print(numb)
В ответ пишем первый подошедший номер.
Ответ: 126.
2. Авторское задание
Сколько различных слов можно составить из букв {А, Б, В, Е} длинной в пять букв. Под словом будем понимать любую последовательность букв (АААВБ, АВЕБА и т.д.).
2.1. Программное решение
Сколько различных слов можно составить из букв {А, Б, В, Е} длинной в пять букв. Под словом будем понимать любую последовательность букв (АААВБ, АВЕБА и т.д.).
С помощью функции product составим все возможные комбинации из букв АБВЕ длинной в 5, и выведем их количество.
#Составим алфавит
alph="АБВЕ"
#Создаем переменную для подсчета ответа
res=0
#Перебираем 1/2/3/4/5 символы в строке
for s1 in alph:
for s2 in alph:
for s3 in alph:
for s4 in alph:
for s5 in alph:
#Т.к. никаких ограничений
#на комбинации нет, без
#проверок увеличиваем res
res+=1
#Выводим полученный результат
print(res)
Ответ:1024
2.2. Решение itertools
Сколько различных слов можно составить из букв {А, Б, В, Е} длинной в пять букв. Под словом будем понимать любую последовательность букв (АААВБ, АВЕБА и т.д.).
С помощью функции product составим все возможные комбинации из букв АБВЕ длинной в 5, и выведем их количество.
#Подключаем библиотеку
from itertools import *
#Создаем переменную со всеми комбинациями
p=product('АБВЕ', repeat=5)
#Переводим набор комбинаций в список,
#и выводим кол-во элементов в списке
print(len(list(p)))
Ответ:1024
3. Демоверсия ЕГЭ по информатике 2021
Игорь составляет таблицу кодовых слов для передачи сообщений, каждому сообщению соответствует своё кодовое слово. В качестве кодовых слов Игорь использует трехбуквенные слова, в которых могут быть только буквы Ш, К, О, Л, А, причем буква К появляется ровно 1 раз. Каждая из других допустимых букв может встречаться в кодовом слове любое количество раз или не встречаться совсем. Сколько различных кодовых слов может использовать Игорь?
3.1. Программное решение
Игорь составляет таблицу кодовых слов для передачи сообщений, каждому сообщению соответствует своё кодовое слово. В качестве кодовых слов Игорь использует трехбуквенные слова, в которых могут быть только буквы Ш, К, О, Л, А, причем буква К появляется ровно 1 раз. Каждая из других допустимых букв может встречаться в кодовом слове любое количество раз или не встречаться совсем. Сколько различных кодовых слов может использовать Игорь?
#Создаем алфавит
alph="ШКОЛА"
#Создаем переменную для подсчета кол-ва
#комбинаций в которых ровно одна К
res=0
#Перебираем 1/2/3 символы в комбинации
for s1 in alph:
for s2 in alph:
for s3 in alph:
#Формируем комбинацию символов
st=s1+s2+s3
#Если в комбинации ровно одна K
if(st.count("К")==1):
#Увеличиваем кол-во ответов
res+=1
#Выводим ответ на экран
print(res)
Ответ: 48
3.2. Решение itertools
Игорь составляет таблицу кодовых слов для передачи сообщений, каждому сообщению соответствует своё кодовое слово. В качестве кодовых слов Игорь использует трехбуквенные слова, в которых могут быть только буквы Ш, К, О, Л, А, причем буква К появляется ровно 1 раз. Каждая из других допустимых букв может встречаться в кодовом слове любое количество раз или не встречаться совсем. Сколько различных кодовых слов может использовать Игорь?
#Подключаем библиотеку itertools
from itertools import *
#Создаем переменную со всеми комбинациями
p=product("ШКОЛА",repeat=3)
#Создаем переменную для подсчета кол-ва
#комбинаций в которых ровно одна К
res=0
#Перебираем все комбинации
for c in p:
#Если в текущей комбинации одна К
if(c.count("К")==1):
#Увеличиваем на 1 кол-во ответов
res+=1
#Печатаем на экран результат
print(res)
Ответ: 48
Источник: Демоверсия ЕГЭ по информатике 2021.
4. СтатГрад 2021 1
Тимофей составляет 5-буквенные коды из букв Т, И, М, О, Ф, Е, Й. Буква Й может использоваться в коде не более одного раза, при этом она не может стоять на первом месте, на последнем месте и рядом с буквой И. Все остальные буквы могут встречаться произвольное количество раз или не встречаться совсем. Сколько различных кодов может составить Тимофей?
4.1. Программное решение
Тимофей составляет 5-буквенные коды из букв Т, И, М, О, Ф, Е, Й. Буква Й может использоваться в коде не более одного раза, при этом она не может стоять на первом месте, на последнем месте и рядом с буквой И. Все остальные буквы могут встречаться произвольное количество раз или не встречаться совсем. Сколько различных кодов может составить Тимофей?
#Создаем алфавит
alph="ТИМОФЕЙ"
#Создаем переменную для подсчет комбинаций
res=0
#Перебираем 1/2/3/4/5 символы в строке
for s1 in alph:
for s2 in alph:
for s3 in alph:
for s4 in alph:
for s5 in alph:
#Формируем комбинацию
st=s1+s2+s3+s4+s5
#Если символов Й не больше 1
#Первый символ не Й
#Последний символ не Й
#Не встречается пара ЙИ
#Не встречается пара ИЙ
if(st.count("Й")<=1 and st[0]!="Й" and st[4]!="Й"\
and st.count("ЙИ")==0 and st.count("ИЙ")==0):
#Увеличиваем кол-во результатов на 1
res+=1
#Выводим результат
print(res)
Ответ: 10476.
4.2. Решение itertools
Тимофей составляет 5-буквенные коды из букв Т, И, М, О, Ф, Е, Й. Буква Й может использоваться в коде не более одного раза, при этом она не может стоять на первом месте, на последнем месте и рядом с буквой И. Все остальные буквы могут встречаться произвольное количество раз или не встречаться совсем. Сколько различных кодов может составить Тимофей?
#Подключаем библиотеку itertools
from itertools import *
#Формируем комбинации длины 5
p=product("ТИМОФЕЙ",repeat=5)
#Создаем переменную для подсчета комбинаций
res=0
#Перебираем комбинации
for c in p:
#Формируем строку из получившейся комбинации
st=c[0]+c[1]+c[2]+c[3]+c[4]
#Если символов Й не больше 1
#Первый символ не Й
#Последний символ не Й
#Не встречается пара ЙИ
#Не встречается пара ИЙ
if(st.count("Й")<=1 and st[0]!="Й" and st[4]!="Й"\
and st.count("ЙИ")==0 and st.count("ИЙ")==0):
#Увеличиваем кол-во результатов на 1
res+=1
#Выводим результат
print(res)
Ответ: 10476.
5. СтатГрад 2021 2
Тимофей составляет 5-буквенные коды из букв Т, И, М, О, Ф, Е, Й. Буква Т должна входить в код не менее одного раза, а буква Й не более одного раза. Сколько различных кодов может составить Тимофей.
5.1. Программное решение
Тимофей составляет 5-буквенные коды из букв Т, И, М, О, Ф, Е, Й. Буква Т должна входить в код не менее одного раза, а буква Й не более одного раза. Сколько различных кодов может составить Тимофей.
#Создаем алфавит
alph="ТИМОФЕЙ"
#Создаем переменную для подсчета комбинаций
res=0
#Перебираем 1/2/3/4/5 символы в строке
for s1 in alph:
for s2 in alph:
for s3 in alph:
for s4 in alph:
for s5 in alph:
#Формируем комбинацию
st=s1+s2+s3+s4+s5
#Если символов Т не меньше 1
#Если символов Й не больше 1
if(st.count("Т")>=1 and st.count("Й")<=1):
#Увеличиваем кол-во результатов на 1
res+=1
#Выводим результат
print(res)
Ответ: 8006
5.2. Решение itertools
Тимофей составляет 5-буквенные коды из букв Т, И, М, О, Ф, Е, Й. Буква Т должна входить в код не менее одного раза, а буква Й не более одного раза. Сколько различных кодов может составить Тимофей.
#Подключаем библиотеку itertools
from itertools import *
#Формируем комбинации длины 5
p=product("ТИМОФЕЙ",repeat=5)
#Создаем переменную для подсчета комбинаций
res=0
#Перебираем комбинации
for c in p:
#Если символов Т не меньше 1
#Если символов Й не больше 1
if(c.count("Т")>=1 and c.count("Й")<=1):
#Увеличиваем кол-во результатов на 1
res+=1
#Выводим результат
print(res)
Ответ: 8006