Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Тип 8 №27295
- # Каждую букву нужно использовать ровно один раз, (значит это перестановки)
- from itertools import permutations
- # Света составляет 5-буквенные коды из букв С, В, Е, Т, А.
- all_words = [x for x in permutations("СВЕТА", 5)]
- # Сколько различных кодов может составить Света?
- count = 0
- for word in all_words:
- s = "".join(word)
- # при этом нельзя ставить рядом две гласные.
- s = s.replace("Е", "*")
- s = s.replace("А", "*")
- if "**" not in s:
- count += 1
- print("Ответ на задание №11:", count)
- # Все 6-буквенные слова, составленные из букв Б, К, Ф, записаны в алфавитном порядке и пронумерованы.
- from itertools import product
- all_words = [x for x in product("БКФ", repeat=6)]
- # Вот начало списка:
- # 1. ББББББ
- # 2. БББББК
- # 3. БББББФ
- # 4. ББББКБ
- # ……
- # Запишите слово, которое стоит на 345-м месте от начала списка.
- print("Ответ на задание №12:", "".join(all_words[344]))
- # Тип 8 №59801
- from itertools import product
- # Игорь составляет таблицу кодовых слов для передачи сообщений,
- # каждому сообщению соответствует своё кодовое слово.
- # В качестве кодовых слов Игорь использует пятибуквенные слова,
- # в которых могут быть только буквы КОНФЕТА,
- all_words = [x for x in product("КОНФЕТА", repeat=5)]
- count = 0
- for word in all_words:
- # причём буква Е появляется ровно 2 раза
- if word.count("Е") == 2:
- # Каждая из других допустимых букв может встречаться в кодовом слове любое количество раз или не встречаться совсем.
- # На втором месте НЕ может стоять буква Ф.
- if word[1] != "Ф":
- count += 1
- # Сколько различных кодовых слов может использовать Игорь?
- print("Ответ на задание №13:", count)
- # Решение в одну строчку:
- # print(len([x for x in product("КОНФЕТА", repeat=5) if x.count("Е") == 2 and x[1] != "Ф"]))
- # Тип 8 №52179
- from itertools import product
- # Полина составляет коды из букв слова ПОЛИНА.
- # Код должен состоять из 8 букв,
- all_words = [x for x in product("ПОЛИНА", repeat=8)]
- # любую букву можно использовать произвольное число раз или не использовать вовсе.
- count = 0
- for word in all_words:
- s = "".join(word)
- s = s.replace("П", "0")
- s = s.replace("Л", "0")
- s = s.replace("Н", "0")
- s = s.replace("О", "1")
- s = s.replace("И", "1")
- s = s.replace("А", "1")
- # Полина хочет, чтобы согласных в каждом коде было больше, чем гласных.
- if s.count("0") > s.count("1"):
- count += 1
- # Сколько кодов, удовлетворяющих этому условию, она сможет составить?
- print("Ответ на задание №15:", count)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement