Advertisement
Rakabidasta

Тип №8

Apr 5th, 2024
823
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.66 KB | None | 0 0
  1. # Тип 8 №27295
  2. # Каждую букву нужно использовать ровно один раз, (значит это перестановки)
  3. from itertools import permutations
  4.  
  5. # Света составляет 5-буквенные коды из букв С, В, Е, Т, А.
  6. all_words = [x for x in permutations("СВЕТА", 5)]
  7.  
  8. # Сколько различных кодов может составить Света?
  9. count = 0
  10.  
  11. for word in all_words:
  12.     s = "".join(word)
  13.  
  14.     # при этом нельзя ставить рядом две гласные.
  15.     s = s.replace("Е", "*")
  16.     s = s.replace("А", "*")
  17.  
  18.     if "**" not in s:
  19.         count += 1
  20.  
  21. print("Ответ на задание №11:", count)
  22.  
  23. # Все 6-буквенные слова, составленные из букв Б, К, Ф, записаны в алфавитном порядке и пронумерованы.
  24. from itertools import product
  25.  
  26. all_words = [x for x in product("БКФ", repeat=6)]
  27.  
  28. # Вот начало списка:
  29. # 1. ББББББ
  30. # 2. БББББК
  31. # 3. БББББФ
  32. # 4. ББББКБ
  33. # ……
  34.  
  35. # Запишите слово, которое стоит на 345-м месте от начала списка.
  36. print("Ответ на задание №12:", "".join(all_words[344]))
  37.  
  38. # Тип 8 №59801
  39.  
  40. from itertools import product
  41.  
  42. # Игорь составляет таблицу кодовых слов для передачи сообщений,
  43. # каждому сообщению соответствует своё кодовое слово.
  44. # В качестве кодовых слов Игорь использует пятибуквенные слова,
  45. # в которых могут быть только буквы КОНФЕТА,
  46. all_words = [x for x in product("КОНФЕТА", repeat=5)]
  47.  
  48. count = 0
  49.  
  50. for word in all_words:
  51.     # причём буква Е появляется ровно 2 раза
  52.     if word.count("Е") == 2:
  53.         # Каждая из других допустимых букв может встречаться в кодовом слове любое количество раз или не встречаться совсем.
  54.         # На втором месте НЕ может стоять буква Ф.
  55.         if word[1] != "Ф":
  56.             count += 1
  57.  
  58. # Сколько различных кодовых слов может использовать Игорь?
  59. print("Ответ на задание №13:", count)
  60.  
  61. # Решение в одну строчку:
  62. # print(len([x for x in product("КОНФЕТА", repeat=5) if x.count("Е") == 2 and x[1] != "Ф"]))
  63.  
  64. # Тип 8 №52179
  65.  
  66. from itertools import product
  67.  
  68. # Полина составляет коды из букв слова ПОЛИНА.
  69. # Код должен состоять из 8 букв,
  70. all_words = [x for x in product("ПОЛИНА", repeat=8)]
  71.  
  72. # любую букву можно использовать произвольное число раз или не использовать вовсе.
  73.  
  74. count = 0
  75.  
  76. for word in all_words:
  77.     s = "".join(word)
  78.     s = s.replace("П", "0")
  79.     s = s.replace("Л", "0")
  80.     s = s.replace("Н", "0")
  81.  
  82.     s = s.replace("О", "1")
  83.     s = s.replace("И", "1")
  84.     s = s.replace("А", "1")
  85.    
  86.     # Полина хочет, чтобы согласных в каждом коде было больше, чем гласных.
  87.     if s.count("0") > s.count("1"):
  88.         count += 1
  89.  
  90. # Сколько кодов, удовлетворяющих этому условию, она сможет составить?
  91. print("Ответ на задание №15:", count)
Tags: ege
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement