Перебор слов и системы счисления.Подсчет количества слов с ограничениями
i
Сколько слов длины 5, начинающихся с согласной буквы и заканчивающихся гласной буквой, можно составить из букв З, И, М, А? Каждая буква может входить в слово несколько раз. Слова не обязательно должны быть осмысленными словами русского языка.
Решение. В конце может стоять две буквы: И или А, а в начале — буквы З или М. Таким образом, можно составить 2 · 43 · 2 = 256 слов.
Ответ: 256.
Приведём другое решение на языке Python.
import itertools
alphabet = "ЗИМА"
con = "ЗМ"
vol = "ИА"
ar = itertools.product(alphabet, repeat=5) #Размещение с повторением
arl = []
for i in ar:
arl.append(list(i))
count = 0
for e in arl:
if e[0] in con and e[-1] in vol:
count += 1
print(count)
Приведём другое решение на языке Python.
count = 0
for i1 in 'ЗИМА':
for i2 in 'ЗИМА':
for i3 in 'ЗИМА':
for i4 in 'ЗИМА':
for i5 in 'ЗИМА':
s = i1 + i2 + i3 + i4 + i5
if (s[0] == 'З' or s[0] == 'М') and (s[4] == 'И' or s[4] == 'А'):
count += 1
print(count)
Приведём решение Юрия Лысакова на языке Python.
from itertools import product
count = 0
for i in product('ЗИМА', repeat=5):
s = ''.join(i)
if (s[0] == 'З' or s[0] == 'М') and (s[4] == 'И' or s[4] == 'А'):
count += 1
print(count)
Приведём решение Андрея Тухманова на языке Python.
from itertools import *
words = [''.join(i) for i in product(sorted('ЗИМА'), repeat=5) if (i[0] in 'ЗМ') and (i[-1] in 'ИА')]
print(len(words))
Приведём решение Сергея Донец на языке PascalABC.NET.
Перебор слов и системы счисления.Подсчет количества слов с ограничениями
i
Сколько слов длины 6, начинающихся и заканчивающихся согласной буквой, можно составить из букв Г, О, Д? Каждая буква может входить в слово несколько раз. Слова не обязательно должны быть осмысленными словами русского языка.
Решение. Среди данных букв 2 согласных. Таким образом, на первой и последней позициях может стоять одна из 2 букв. На оставшихся 4 позициях может стоять любая из 3 букв. То есть всего имеем комбинации.
Ответ: 324.
Приведём другое решение на языке Python.
import itertools
alphabet = "ГОД"
con = "ГД"
ar = itertools.product(alphabet, repeat=6) #Размещение с повторением
arl = []
for i in ar:
arl.append(list(i))
count = 0
for e in arl:
if e[0] in con and e[-1] in con:
count += 1
print(count)
Приведём решение Владислава Смирнова на языке Python.
from itertools import product
count = 0
for i in product('ГОД', repeat=6):
if i[0] != 'О' and i[5] != 'О':
count += 1
print(count)
Приведём решение Сергея Донец на языке PascalABC.NET.
Перебор слов и системы счисления.Подсчет количества слов с ограничениями
i
Сколько слов длины 4, начинающихся с согласной буквы и заканчивающихся гласной буквой, можно составить из букв М, Е, Т, Р, О? Каждая буква может входить в слово несколько раз. Слова не обязательно должны быть осмысленными словами русского языка.
Решение. Всего 3 согласных и 2 гласных. То есть на первую позицию можно поставить 3 буквы, на последнюю — 2 буквы. На две средние позиции можно поставить любую из 5 букв. Всего получается вариантов.
Ответ: 150.
Приведём решение на языке Python.
from itertools import product
s='метро'
s0='мтр'
s3='ео'
words=[]
for w in product(s,repeat=4):
if (w[0] in s0) and (w[3] in s3):
words.append(w)
print(len(words))
Приведём другое решение на языке Python.
import itertools
alphabet = "МЕТРО"
con = "МТР"
vol = "ЕО"
ar = itertools.product(alphabet, repeat=4) #Размещение с повторением
arl = []
for i in ar:
arl.append(list(i))
count = 0
for e in arl:
if e[0] in con and e[-1] in vol:
count += 1
print(count)
Приведём решение Сергея Донец на языке PascalABC.NET.