1.61M
Категория: ПрограммированиеПрограммирование

Кодирование данных, комбинаторика, системы счисления. 8 вопрос

1.

Кодирование данных,
комбинаторика, системы
счисления.
8 вопрос

2.

21. Сколько слов длины 4, начинающихся с согласной буквы,
можно составить из букв Л, Е, Т, О? Каждая буква может входить в
слово несколько раз. Слова не обязательно должны быть
осмысленными словами русского языка.
Правило произведения: общее количество слов равно
произведению количества комбинаций каждой отдельной
буквы
2*4*4*4 = 128

3.

Итератор перебора
значений
декартово произведение (все
возможные слова заданной длины,
составленные
из данного алфавита),
from itertools import product
k=0
for x in product (‘ЛТ‘, ‘ ЛЕТО‘, ‘ ЛЕТО‘, ‘ ЛЕТО‘) :
«склеить» символы каждого кортежа в строки с помощью
c= ' '.join(x)
метода .join:
k=k+1
print (k)

4.

26) Сколько слов длины 5, начинающихся с согласной буквы и
заканчивающихся гласной буквой, можно составить из букв К, У,
М, А? Каждая буква может входить в слово несколько раз. Слова
не обязательно должны быть осмысленными словами русского
языка.
from itertools import product
k=0
for x in product ('КУМА', repeat=5):
c= ' '.join(x)
if c[0] in 'КМ' and c[-1] in 'УА':
k=k+1
print (k)

5.

27) Вася составляет 6-буквенные слова, в которых есть только буквы
К, Р, О, Т, причём буква О используется в каждом слове ровно 1 раз.
Каждая из других допустимых букв может встречаться в слове
любое количество раз или не встречаться совсем. Словом считается
любая допустимая последовательность букв, не обязательно
осмысленная. Сколько существует таких слов, которые может
написать Вася?
from itertools import product
k=0
for x in product ('КРОТ', repeat=6):
c= ' '.join(x)
if c.count('О')==1:
k=k+1
print (k)

6.

Вася составляет 6-буквенные слова, в которых есть только буквы К, А, Н, Т, причём буква
К используется в каждом слове ровно 2 раза. Каждая из других допустимых букв может
встречаться в слове любое количество раз или не встречаться совсем. Словом считается
любая допустимая последовательность букв, не обязательно осмысленная. Сколько
существует таких слов, которые может написать Вася?
from itertools import product
k=0
for x in product ('КАНТ', repeat=6):
c=' '.join(x)
if c.count('К')==2:
k=k+1
print(k)

7.

Вася составляет 4-буквенные слова, в которых есть только буквы Л,
Е, Т, О, причём буква Е используется в каждом слове хотя бы 1 раз.
Каждая из других допустимых букв может встречаться в слове
любое количество раз или не встречаться совсем. Словом считается
любая допустимая последовательность букв, не обязательно
осмысленная. Сколько существует таких слов, которые может
написать Вася?
От противного:
1. Найдем сколько всего возможных
вариантов
2.
Найдем кол-во слов без буквы Е
3.
Найдем разность: 256 – 81 = 175

8.

from itertools import product
k=0
for x in product ('ЛЕТО', repeat=4):
c=' '.join(x)
if c.count('Е')>=1:
k=k+1
print(k)

9.

Петя составляет 7-ми буквенные слова перестановкой
букв АССАСИН сколько всего различных слов может
составить Петя?
n! – число перестановок из n элементов
Так как перестановка одинаковых букв не даёт нового
слова, каждая пара уменьшает количество уникальных
слов в 2! раза; а 3 одинаковые буквы в 3! и т.д.
В задаче перестановка 7 букв, в котором 2 буквы А и 3
буквы С.
Общее количество слов получаемых в результате
перестановки равно 7! = 5040
Т.к 2 буквы А, то число перестановок уменьшится в 2!=2
Т.к. 3 буквы С, то число перестановок еще уменьшится в
3!=6 => 5040:12= 420

10.

Перестановки
from itertools import permutations
Это множество, в котором хранятся только уникальные
k=0
данные, используем, когда есть одинаковые элементы
for x in set(permutations ('АССАСИН')):
c=' '.join(x)
k=k+1
print(k)

11.

Демо 2023
Определите количество пятизначных чисел, записанных
в восьмеричной системе счисления, в записи которых
только одна цифра 6, при этом никакая нечётная цифра
не стоит рядом с цифрой 6.
Ответ: ___________________________.
from itertools import *
k=0
for x in product('01234567', repeat=5):
s=''.join (x)
if s.count ('6')==1 and s[0]!='0' and '16' not in s and '61' not in s and '36' not in s and
'63' not in s and '56' not in s and '65' not in s and '76' not in s and '67' not in s:
k=k+1
print (k)

12.

Вася составляет 5-буквенные коды из букв К, А, Л, И, Й. каждую
букву нужно использовать ровно 1 раз при этом код не может
начинаться с буквы Й и не может содержать сочетание ИА.
Сколько разных кодов может составить Вася?
from itertools import
permutations
k=0
for x in permutations ('КАЛИЙ'):
c= ''.join(x)
if c[0]!='Й' and 'ИА' not in c:
k=k+1
print (k)

13.

Сколько существует десятичных четырехзначных чисел, в которых все цифры
различны и никакие две четные или две нечетные цифры не стоят рядом?

14.

Все 5-буквенные слова, составленные из букв А, О, У, записаны в алфавитном порядке. Вот
начало
списка:
1 ААААА
2 ААААО
3 ААААУ
4 АААОА
……
Запишите слово, которое стоит на 101-м месте от начала списка.
Т.к. на первом месте стоит число 0,
на втором – 1 и т.д. Тогда на 101 from itertools import product
месте стоит слово с порядковым k=0
for x in product ('АОУ', repeat=5):
номером 101-1, записанное в
k=k+1
троичной системе счисления.
c= ' '.join(x)
100 = 102013
if k==101:
А – 0, О – 1, У – 2
print (c)
Запишем соответствующие буквы
в получившемся коде: 102013
ОАУАО

15.

Демо - 22
Л – 1, Е – 0, М – 2, У – 4, Р – 3 from itertools import product
k=0
пятеричная система
счисления.
for x in product ('ЕЛМРУ',
Первое слово на Л: ЛЕЕЕ с
repeat=4):
кодом 10005 Переведём в 10- k=k+1
ую систему счисления
s=''.join(x)
10005 = 125 – номер ЛЕЕЕ,
if s=='ЛЕЕЕ':
находящееся на 125+1 = 126
print (k, s)
месте
English     Русский Правила