Похожие презентации:
Занятие 2.2
1.
Комбинаторика2.
Определение• Комбинаторика — это раздел математики,
который изучает:
• Сколько способов можно выбрать или
расположить объекты
• Как подсчитать количество комбинаций без
перебора всех вариантов
• Методы систематического перечисления
объектов
3.
Правило произведения• Если действие A можно выполнить m способами,
а после этого действие B можно выполнить n
способами, то выполнить A И B (последовательно)
можно m × n способами.
4.
Пример 1• Сколькими способами можно задать номер
автомобиля.
• Номер состоит из:
• - 1 буква (из 12 разрешённых)
• - 3 цифры (каждая от 0 до 9)
• - 2 буквы (из 12 разрешённых)
• Ответ: 12 * 10 * 10 * 10 * 12 * 12 = 17 280 000
номеров
5.
Пример 2• Сколько слов длины 5, начинающихся с гласной
буквы, можно составить из букв Е, Г, Э? Каждая
буква может входить в слово несколько раз.
Слова не обязательно должны быть
осмысленными словами русского языка.
• Ответ: 2 * 3 * 3 * 3 * 3 = 162
6.
Решение на Python• count = 0
• for i in ["E", "Э"]:
for j in ["E", "Г", "Э"]:
for k in ["E", "Г", "Э"]:
for l in ["E", "Г", "Э"]:
for m in ["E", "Г", "Э"]:
count += 1
• print(count)
7.
itertools• - это встроенный модуль Python, который
предоставляет готовые функции для работы с
комбинаторикой. Вместо того чтобы писать
вложенные циклы вручную, мы используем
готовые инструменты.
8.
product• product() — Декартово произведение
• Декартово произведение — это все возможные
комбинации элементов из нескольких множеств.
Это реализация правила произведения.
• Если у нас есть множества A и B, то их декартово
произведение A × B содержит все пары (a, b), где
a ∈ A и b ∈ B.
• product(list1, list2, list3, ...)
• product(list1, repeat=n)
9.
Решение на Python• from itertools import *
• count = 0
• comb = product('ЕГЭ', repeat=5)
• for i in comb:
if i[0] != "Г":
count += 1
• print(count)
10.
Задача 2• Сколько слов длины 5, начинающихся с согласной
буквы и заканчивающихся гласной буквой, можно
составить из букв З, И, М, А? Каждая буква может
входить в слово несколько раз. Слова не
обязательно должны быть осмысленными
словами русского языка.
11.
Задача 3• Вася составляет 5-
буквенные слова, в которых
есть только буквы С, Л, О, Н, причём буква С
используется в каждом слове ровно 1 раз. Каждая
из других допустимых букв может встречаться в
слове любое количество раз или не встречаться
совсем. Словом считается любая допустимая
последовательность букв, не обязательно
осмысленная. Сколько существует таких слов,
которые может написать Вася?
12.
Задача 4• Рассматриваются символьные
последовательности длины 5 в шестибуквенном
алфавите {У, Ч, Е, Н, И, К}. Сколько существует
таких последовательностей, которые начинаются
с буквы У и заканчиваются буквой К?
13.
Задача 5• Ольга составляет таблицу кодовых слов для
передачи сообщений, каждому сообщению
соответствует своё кодовое слово. В качестве
кодовых слов Ольга использует 4-
буквенные
слова, в которых есть только буквы A, B, C, D, X, Y.
При этом первая буква кодового слова — это
буква X или Y, а далее в кодовом слове буквы X и
Y не встречаются. Сколько различных кодовых
слов может использовать Ольга?
14.
Задача 6• Пётр составляет таблицу кодовых слов для
передачи сообщений, каждому сообщению
соответствует своё кодовое слово. В качестве
кодовых слов Пётр использует все пятибуквенные
слова в алфавите {A, B, C, D, E, F},
удовлетворяющие такому условию: кодовое
слово не может начинаться с буквы F и
заканчиваться буквой A. Сколько различных
кодовых слов может использовать Пётр?
15.
Задача 7• Шифр кодового замка представляет собой
последовательность из пяти символов, каждый из
которых является цифрой от 1 до 4. Сколько
различных вариантов шифра можно задать, если
известно, что цифра 1 встречается ровно два раза,
а каждая из других допустимых цифр может
встречаться в шифре любое количество раз или не
встречаться совсем?
16.
Задача 8• Составляют 5-
буквенные слова из букв слова
ПЯТНИЦА. Найти количество слов, которые не
начинаются с Н и в которых есть только одна
буква Я. Буквы в слове могут повторяться.
17.
Задача 9• Алиса составляет 6-
буквенные слова из букв М, А,
Н, Г, У, С, Т. Каждая из букв может встречаться
сколько угодно раз, причём первой буквой не
может быть А, буква У должна встречаться не
менее 1 раза. Также в записи должны быть ровно
две буквы М.Сколько различных слов может
составить Алиса?
18.
Задача 10• Игорь составляет таблицу кодовых слов для
передачи сообщений, каждому сообщению
соответствует своё кодовое слово. В качестве
кодовых слов Игорь использует пятибуквенные
слова, в которых могут быть только буквы К, О, Н,
Ф, Е, Т, А, причём буква Е появляется ровно 2
раза. Каждая из других допустимых букв может
встречаться в кодовом слове любое количество
раз или не встречаться совсем. На втором месте
НЕ может стоять буква Ф. Сколько различных
кодовых слов может использовать Игорь?
19.
Ответы• 1) 162
• 2) 256
• 3) 405
• 4) 216
• 5) 128
• 6) 5400
• 7) 270
• 8) 5616
• 9) 9155
20.
Задача• Сколько существует различных четырёхзначных
чисел, записанных в семеричной системе
счисления, в записи которых цифры следуют слева
направо в строго убывающем порядке?
21.
Решение• from itertools import *
• count = 0
• comb = product('0123456',repeat=4)
• for i in comb:
• if i[0]>i[1]>i[2]>i[3]:
count+=1
• print(count) #35
22.
Перестановки• Перестановки — это все возможные
упорядоченные комбинации элементов из
набора. При этом важен порядок и элементы не
повторяются.
23.
Перестановки• from itertools import *
• comb = permutations('123')
• for i in comb:
print(i)
24.
Задача• Сколько существует чисел, восьмеричная запись
которых содержит 5 цифр, причем в записи нет
цифры 1. Также все цифры записи различны и
никакие две чётные и две нечётные цифры не
стоят рядом.
25.
Решение 1• from itertools import *
• count = 0
• comb = permutations('01234567',5)
• for i in comb:
s = ''.join(i)
if s[0]!="0" and s.count("1") == 0:
s = s.replace("2","0").replace("4","0").replace("6","0")
s = s.replace("3","1").replace("5","1").replace("7","1")
if "00" not in s and "11" not in s:
count+=1
26.
Решение 2• from itertools import *
• count = 0
• comb = permutations('01234567',5)
• for i in comb:
s = ''.join(i)
if s[0]!="0" and s.count("1") == 0:
has_pare = False
for j in range(4):
if int(s[j])%2==int(s[j+1])%2:
has_pare = True
27.
Слова по порядку• Все 5-
буквенные слова, составленные из букв А, О,
У, записаны в алфавитном порядке.
• Вот начало списка:
• 1. ААААА
• 2. ААААО
• 3. ААААУ
• 4. АААОА
• ……
• Запишите слово, которое стоит на 210-
м месте от
начала списка.
28.
Решение• from itertools import *
• count = 0
• comb = product('АОУ',repeat=5)
• for i in comb:
• count+=1
• if count == 210:
print(''.join(i))
break
29.
Задача 1• Сколько существует девятеричных пятизначных
чисел, содержащих в своей записи ровно одну
цифру 5, в которых никакие две одинаковые цифры
не стоят рядом?
• 13377
30.
Задача 2• Определите количество восьмеричных пятизначных
чисел, которые не начинаются с нечётных цифр, не
оканчиваются цифрами 2 или 6, а также содержат не
более двух цифр 7.
• 9135
31.
Задача 3• Определите количество 15-ричных пятизначных
чисел, в записи которых ровно одна цифра 8 и не
менее двух цифр с числовым значением,
превышающим 9.
• 83175
32.
• Задача 433.
Задача 5• Все пятибуквенные слове, в составе которых могут быть только русские буквы Я,
Н, В, А, Р, Ь, записаны в алфавитном порядке и пронумерованы, начиная с 1. Ниже
приведено начало списка.
• 1. ААААА
• 2. ААААВ
• 3. ААААН
• 4. ААААР
• 5. ААААЬ
• 6. ААААЯ
• 7. АААВА
• …
• Под каким номером в списке идёт последнее слово, которое не начинается с
буквы Я, содержит не более одной буквы Ь и не содержит букв Я, стоящих рядом?
• 6406
34.
Задача 6• Определите количество шестнадцатизначных
чисел в пятеричной системе счисления, которые
не оканчиваются цифрами 3 и 4, не начинаются с
цифры 1.
• 54931640625
35.
Задача 7• Все шестибуквенные слова, составленные из букв М, У, Ж, Ч, И, Н, А, записаны
в алфавитном порядке и пронумерованы.
• Вот начало списка:
• 1. АААААА
• 2. АААААЖ
• 3. АААААИ
• 4. АААААМ
• 5. АААААН
• 6. АААААУ
• 7. АААААЧ
• Определите в этом списке количество слов с чѐтными номерами, которые не
начинаются с
• буквы Ж и при этом содержат в своей записи не более одной буквы Ч.
36.
Задача 8• Все 4-буквенные слова, составленные из букв М, А, Р, Т,
записаны в алфавитном порядке и пронумерованы, начиная с 1.
• Ниже приведено начало списка.
• 1. АААА
• 2. АААМ
• 3. АААР
• 4. АААТ
• 5. ААМА
• …
• Под каким номером в списке идѐт первое слово, которое
начинается с буквы М?
37.
Задача 9• Сколько существует шестнадцатеричных
четырѐхзначных чисел, в которых все цифры
различны и никакие две чѐтные или две нечѐтные
цифры не стоят рядом?
38.
Задача 10• Все 6-буквенные слова, составленные из букв К, Л, Н,
Т, Э, записаны в алфавитном порядке и
пронумерованы.
• Вот начало списка:
• 1. КККККК
• 2. КККККЛ
• 3. КККККН
• 4. КККККТ
• ……
• Под каким номером стоит слово ККЛККН?
39.
Задача 11• Определите количество пятизначных чисел,
записанных в восьмеричной системе счисления, в
записи которых ровно одна цифра 6, при этом
никакая нечѐтная цифра не стоит рядом с цифрой
6.
40.
Задача 12• Вася составляет 6-буквенные слова, в которых
могут быть только буквы К, О, Т, причѐм буква К
используется в каждом слове ровно 1 раз. Каждая
из других допустимых букв может встречаться в
слове любое количество раз или не встречаться
совсем. Словом считается любая допустимая
последовательность букв, не обязательно
осмысленная. Сколько существует таких слов,
которые может написать Вася?
41.
Задача 13• Вася составляет 6-буквенные слова, в которых
могут быть использованы только буквы В, И, Ш, Н,
Я, причѐм буква В используется не более одного
раза. Каждая из других допустимых букв может
встречаться в слове любое количество раз или не
встречаться совсем. Слово не должно начинаться с
буквы Ш и оканчиваться гласными буквами.
Словом считается любая допустимая
последовательность букв, не обязательно
осмысленная. Сколько существует таких слов,
которые может написать Вася?
42.
Задача 14• Все 4-буквенные слова, составленные из букв П, И,
Т, О, Н, записаны в алфавитном порядке и
пронумерованы, начиная с 1.
• Ниже приведено начало списка.
• 1. ИИИИ
• 2. ИИИН
• 3. ИИИО
• 4. ИИИП
• 5. ИИИТ
• 6. ИИНИ
•…
43.
Задача 15• Определите количество пятизначных чисел,
записанных в девятеричной системе счисления, в
записи которых ровно одна цифра 3, при этом
никакая из цифр 5, 6, 7, 8 не стоит рядом с цифрой
3.
44.
Задача 16• Сколько существует десятичных шестизначных
чисел, делящихся на 5, в которых все цифры
различны и никакие две чѐтные или две нечѐтные
цифры не стоят рядом?
45.
Задача 17• Все пятибуквенные слова, в составе которых могут
быть только русские буквы Л, А, Й, М, записаны в
алфавитном порядке и пронумерованы начиная с
1. Ниже приведено начало списка.
• 1. ААААА
• 2. ААААЙ
• 3. ААААЛ
• 4. ААААМ
• 5. АААЙА
•…
• Под каким номером в списке идѐт последнее
46.
Задача 18• Все шестибуквенные слова, составленные из букв
А, В, О, Р, Т, записаны в алфавитном порядке и
пронумерованы начиная с 1.
• Ниже приведено начало списка.
• 1. АААААА
• 2. АААААВ
• 3. АААААО
• 4. АААААР
• 5. АААААТ
• 6. ААААВА
•…
47.
Задача 19• Игорь составляет таблицу кодовых слов для
передачи сообщений, каждому сообщению
соответствует своѐ кодовое слово. В качестве
кодовых слов Игорь использует 5- буквенные
слова, в которых есть только буквы Э, Т, А, Н,
причѐм в каждом слове есть ровно одна гласная
буква и она встречается ровно 1 раз. Каждая из
допустимых согласных букв может встречаться в
кодовом слове любое количество раз или не
встречаться совсем. Сколько различных кодовых
слов может использовать Игорь?
48.
Задача 20• Все шестибуквенные слова, составленные из букв
Ф, А, В, О, Р, И, Т, записаны в алфавитном порядке
и пронумерованы.
• Вот начало списка:
• 1. АААААА
• 2. АААААВ
• 3. АААААИ
• 4. АААААО
• 5. АААААР
• 6. АААААТ
• 7. АААААФ
49.
Ответы• 7) 39528
• 8) 65
• 9) 5880
• 10) 128
• 11) 2961
• 12) 192
• 13) 4352
• 14) 501
• 15) 6400
• 16) 1296
• 17) 922
• 18) 4821
• 19) 160
• 20) 8640
Информатика