Python

Напишите программу, которая подсчитает и выведет количество слов длины 10, которые можно составить из букв a, b, c.

 import itertools 

letters = ['a', 'b', 'c']
word_length = 10

words = list(itertools.product(letters, repeat=word_length))
print(len(words))
В этой программе используется функция product из модуля itertools, чтобы создать все возможные комбинации букв a, b и c длины 10. Затем мы просто выводим длину списка, чтобы узнать количество слов. Ответом на эту задачу является число 59049.
Александр Михайлович Морозов
Александр Михайлович Морозов
25 860
Лучший ответ
Если речь о словах как сочетаниях букв, имеющих смысл в каком-то конкретном языке (скажем, в английском или финском, или латыни), то нужно подключить словарь этого языка и в нём перебрать слова, начинающиеся на указанные буквы. Их не должно быть много, так как 'abc' - довольно бедный алфавит.

А если словом считается произвольная комбинация указанных букв, то их количество подсчитывается и выводится так:
 print(3 ** 10) 
Если у меня ещё не началась деменция, то это будет
 59049 

----
P.S. Проверил на калькуляторе, вроде, не началась...

----
P.P.S. Забавно, как быдлокодеры бросились перебирать все комбинации букв, лишь ради того, чтобы узнать их количество. Надо было им зарядить слова из 26-буквенного алфавита, вот бы побегали (таких 10-буквенных слов - более 100 триллионов).
РК
Рома Кусков
54 053
import itertools

def count_words(length, letters):
count = 0
for word in itertools.product(letters, repeat=length):
if word.count('a') + word.count('b') + word.count('c') == length:
count += 1
return count

length = 10
letters = ['a', 'b', 'c']
word_count = count_words(length, letters)
print(f"Количество слов длины {length}, состоящих из {letters}, равно {word_count}.")
А ты потом продаш этот код и деньги получишь. А нам шиш

Похожие вопросы