8.02 Подсчет количества слов/чисел
Ошибка.
Попробуйте повторить позже
Саша выбрал букв (А, Б, В, Г, Д) и составляет различные слова, состоящие из букв. Сколько способов составить слово есть у Саши? Каждую букву можно использовать неограниченное количество раз.
Решение руками
Есть способов выбрать первую букву, способов выбрать вторую, ..., способов выбрать пятую.
Для второй буквы есть способов выбрать первую. Следовательно, количество возможных способов выбрать первые две буквы равно Для третьей буквы есть способов выбрать первые две. Следовательно, количество возможных способов выбрать первые три буквы: Для четвёртой буквы есть способов выбрать первые три. Следовательно, количество возможных способов выбрать первые четыре буквы: Для пятой буквы есть способов выбрать первые четыре. Следовательно, общее количество возможных способов равно .
Решение через циклы
a = ’АБВГД’ # наше слово count = 0 # итоговый счётчик #переборы для наших букв for x1 in a: for x2 in a: for x3 in a: for x4 in a: for x5 in a: s = x1+x2+x3+x4+x5 # составляем слово count += 1 print(count)
Решение через itertools
from itertools import product # импортируем product count = 0 for x in product(’АБВГД’,repeat = 5): # проходимся по различным 5-буквенным словам s = ’’.join(x) # составляем слово count += 1 print(count)
Ошибка.
Попробуйте повторить позже
Кирилл составляет 6-буквенные слова из букв Р, Е, Ц, П, Т. Каждая из букв может встречаться в слове сколько угодно раз или не встречаться совсем. Сколько различных слов может составить Кирилл?
Решение руками
На любое из 6 мест Кирилл может поставить любую из 5 букв, а значит на каждое из этих мест букву можно поставить 5 способами. Всего Кирилл может составить различных слов.
Решение через циклы
a = ’РЕЦПТ’ # наше слово count = 0 # итоговый счётчик #переборы для наших букв for x1 in a: for x2 in a: for x3 in a: for x4 in a: for x5 in a: for x6 in a: s = x1+x2+x3+x4+x5+x6 # составляем слово count += 1 print(count)
Решение через itertools
from itertools import product # импортируем product count = 0 for x in product(’РЕЦПТ’,repeat = 6): # проходимся по различным словам s = ’’.join(x) # составляем слово count += 1 print(count)
Ошибка.
Попробуйте повторить позже
Алиса составляет 7-буквенные слова из букв П, Р, А, В, Н, У, К. Каждая из букв может встречаться в слове ровно один раз, причём последней буквой должна быть Р, а первой буква П. Сколько различных слов может составить Алиса?
Решение руками
На последнее место Алиса ставит букву П, а на последнее место букву Р, обе единственным способом. На второе, третье, четвёртое, пятое и шестое место она ставит одну из 5, 4, 3, 2 и 1 из оставшихся букв соответственно, т.к. с постановкой одной из букв, общее количество букв, которые ещё можно поставить уменьшается на 1. Всего Алиса может составить различных слов.
Решение через циклы
a = ’ПРАВНУК’ # наше слово count = set() # итоговый счётчик #переборы для наших букв for x1 in a: for x2 in a: for x3 in a: for x4 in a: for x5 in a: for x6 in a: for x7 in a: s = x1+x2+x3+x4+x5+x6 # составляем слово if len(s) == len(set(s)) and s[0] == ’П’ and s[-1] == ’Р’: # проверка, что все буквы встречаются единожды и начинается с П и заканчивается Р count.add(s) print(len(count))
Решение через itertools
from itertools import permutations count = 0 for x in permutations(’ПРАВНУК’): s = ’’.join(x) # составляем слово if s[0] == ’П’ and s[-1] == ’Р’: # проверка по условию count += 1 print(count)
Ошибка.
Попробуйте повторить позже
Вова составляет 4-буквенные слова из букв С, А, М, О, Р, З, В, И, Т, Е. Каждая из букв может встречаться в слове ровно один раз или не встречаться вовсе. Сколько различных слов может составить Вова?
Решение руками
Вова ставит на первое место любую из 10 букв, выбрать её он может 10 способами. На второе место он ставит любую из 9 оставшихся букв, на третье — любую из 8 оставшихся, а на 4 — любую из 7 оставшихся. Всего Вова может составить различных слов.
Решение через циклы
a = ’САМОРЗВИТЕ’ # наше слово count = set() # итоговый счётчик #переборы для наших букв for x1 in a: for x2 in a: for x3 in a: for x4 in a: s = x1+x2+x3+x4 if len(s) == len(set(s)): # проверка, что каждая буква в слове встречается единожды count.add(s) print(len(count))
Решение через itertools
from itertools import permutations count = 0 for x in permutations(’САМОРЗВИТЕ’,r= 4): # проход по различным словам s = ’’.join(x) # составляем слово count += 1 print(count)
Ошибка.
Попробуйте повторить позже
Азат составляет пары слов. Первое 3-буквенное слово состоит из букв П, Ш, К, а второе 4-буквенное из букв Д, М, Ш, К. Каждая из букв слов может встречаться в них любое количество раз или не встречаться совсем, причём оба слова должны начинаться с буквы Ш. Сколько различных пар слов может составить Азат?
Решение руками
В первом слове первой буквой должна стоять Ш, а на каждое из 2 оставшихся мест в слове можно поставить любую из 3 различных букв. Значит первое слово можно составить способами. Во втором слове первой должна стоять буква Ш, а на каждое из 3 оставшихся мест в слове можно поставить любую из 4 различных букв. Значит второе слово можно составить способами.
Представим, что первые слова — чашки, а вторые слова — блюдца. Сколько различных вариаций кружка+чашка можно составить?
Можно составить различных пар слов (блюдец с чашкой).
Решение через циклы
a = ’ПШК’ count1 = 0 # количество слов для первого слова for x1 in a: for x2 in a: for x3 in a: s = x1+x2+x3 if s[0] == ’Ш’: count1 += 1 b = ’ДМШК’ count2 = 0 # количество слов для второго слова for x1 in b: for x2 in b: for x3 in b: for x4 in b: s = x1+x2+x3+x4 if s[0] == ’Ш’: count2 += 1 print(count1*count2)
Решение через itertools
from itertools import product count1 = 0 # количество слов для первого слова for x in product(’ШПК’,repeat =3): s = ’’.join(x) if s[0] == ’Ш’: count1 += 1 count2 = 0 # количество слов для второго слова for x in product(’ДШМК’,repeat =4): s = ’’.join(x) if s[0] == ’Ш’: count2 += 1 print(count1*count2)
Ошибка.
Попробуйте повторить позже
Максим составляет пары слов. Первое 6-буквенное слово состоит из букв М, О, Щ, Н, а второе 2-буквенное из букв В, Е, Б. Каждая из букв в словах может встречаться любое количество раз или не встречаться совсем, причём в первом слове должно быть 5 подряд идущих согласных. Сколько различных пар слов может составить Максим?
Решение руками
В первом слове Максим должен получить 5 подряд идущих согласных, а значит либо на 1, 2, 3, 4 и 5 местах должны стоять согласные, а на 6 – гласная, либо на 2, 3, 4, 5, 6 местах должны стоять согласные, а на 1 – гласная, либо на всех местах должны стоять согласные. Всего согласных 3. Значит первое слово можно составить способами. Во втором слове на каждое из мест можно поставить любую из букв. Значит второе слово можно составить способами.
Представим, что первые слова — чашки, а вторые слова — блюдца. Сколько различных вариаций чашка+блюдце можно составить?
Можно составить различных пар слов (блюдец с чашкой).
Решение через циклы
a = ’МОЩН’ a1 = ’МЩН’ # согласные буквы слова a m = [x1+x2+x3+x4+x5 for x1 in a1 for x2 in a1 for x3 in a1 for x4 in a1 for x5 in a1] # 5-буквенные комбинации состоящие только из согласных букв count1 = 0 # количество слов для первого слова for x1 in a: for x2 in a: for x3 in a: for x4 in a: for x5 in a: for x6 in a: s = x1+x2+x3+x4+x5+x6 if s[0:5] in m or s[1:] in m: # если хотя бы одна комбинация 5-буквенных слов из согласных букв есть в текущем слове count1 += 1 b = ’ВЕБ’ count2 = 0 # количество слов для второго слова for x1 in b: for x2 in b: s = x1+x2 count2 += 1 print(count1*count2)
Решение через itertools
from itertools import product sogl = ’МЩН’ # согласные буквы слова МОЩН count1 = 0 for x in product(’МОЩН’,repeat = 6): s = ’’.join(x) if all(s[i] in sogl for i in range(len(s)-1)) or all(s[i] in sogl for i in range(1,len(s))): # проверка, что в слове есть 5 подряд идуших согласные буквы count1 += 1 count2 = 0 for x in product(’ВЕБ’,repeat = 2): s = ’’.join(x) count2 += 1 print(count1*count2)
Ошибка.
Попробуйте повторить позже
Друг составляет пятизначные числа, используя цифры от 2 до 7 включительно. Цифры в числе могут повторяться. Сколько различных чисел, начинающихся с цифры 5, друг может составить?
Решение руками
Первой цифрой числа должна быть цифрой 5. На 2, 3, 4 и 5 месте в слове может стоять любая из 6 цифр. Значит друг может составить различных чисел.
Решение через циклы
a = ’234567’ # наше слово count = 0 # переборы букв слова for x1 in a: for x2 in a: for x3 in a: for x4 in a: for x5 in a: s = x1+x2+x3+x4+x5 if s[0] == ’5’: # проверка по условию count += 1 print(count)
Решение через itertools
from itertools import product count = 0 for x in product(’234567’,repeat = 5): # перебор слов s = ’’.join(x) if s[0] == ’5’: # проверка по условию count += 1 print(count)
Ошибка.
Попробуйте повторить позже
Друг составляет трёхзначные числа, используя цифры от 1 до 5 включительно. Цифры в числе могут повторяться. Сколько различных чисел, не начинающихся с цифр 2 и 3, друг может составить?
Решение руками
Первой цифрой числа может быть любая из цифр, кроме 2 и 3, т.е. любая из 3 оставшихся. На 2 и 3 месте в слове может стоять любая из 5 цифр. Значит друг может составить различных чисел.
Решение через циклы
a = ’12345’ # наше слово count = 0 # переборы букв слова for x1 in a: for x2 in a: for x3 in a: s = x1+x2+x3 if s[0] not in ’23’: # проверка по условию count += 1 print(count)
Решение через itertools
from itertools import product count = 0 for x in product(’12345’,repeat = 3): # перебор слов s = ’’.join(x) if s[0] not in ’23’: # проверка по условию count += 1 print(count)
Ошибка.
Попробуйте повторить позже
Друг составляет четырёхзначные числа, используя цифры от 0 до 9 включительно. Цифры в числе могут повторяться. Сколько различных чисел, не начинающихся с цифры 7, друг может составить?
Решение руками
Первой цифрой числа может быть любая из цифр, кроме 7 и 0 (т.к. числа не могут начинаться на 0), т.е. любая из 8 оставшихся. На 2, 3 и 4 месте в слове может стоять любая из 10 цифр. Значит друг может составить различных чисел.
Решение через циклы
a = ’0123456789’ # наше слово count = 0 # переборы букв слова for x1 in a: for x2 in a: for x3 in a: for x4 in a: s = x1+x2+x3+x4 if s[0] not in ’07’: # проверка по условию count += 1 print(count)
Решение через itertools
from itertools import product count = 0 for x in product(’0123456789’,repeat = 4): # перебор слов s = ’’.join(x) if s[0] not in ’07’: # проверка по условию count += 1 print(count)
Ошибка.
Попробуйте повторить позже
Друг составляет пятизначные числа, используя цифры от до включительно. Цифры в числе могут использоваться только один раз или не использоваться совсем. Число начинается с цифры . Сколько различных чисел, имеющих ровно три подряд идущие четные цифры, друг может составить?
Решение руками
Первой цифрой числа является , она нечётная. Значит либо на , и месте в слове должны стоять чётные цифры, либо на , и , всего варианта. Изначально у нас есть четных цифр, после того, как мы поставим любую из них, на второе место мы сможем поставить лишь одну из оставшихся цифр,а на третье — одну из оставшихся. В обоих случаях мы используем цифры, тогда на последнее оставшееся место в числе можно поставить любую из оставшихся нечетных цифр. Значит друг может составить различных чисел.
Решение через циклы
a = ’0123456789’ # наше слово chet = ’02468’ # чётные цифры # комбинации, из которых одна точно должна быть в подходящем слове done = [x1+x2+x3 for x1 in chet for x2 in chet for x3 in chet] # комбинации, из которых ни одна не должна быть в подходящем слове, так как нас интересуют слова, где идут подряд ровно 3 чётные цифры lock = [x1+x2+x3+x4 for x1 in chet for x2 in chet for x3 in chet for x4 in chet] count = 0 # переборы букв слова for x1 in a: for x2 in a: for x3 in a: for x4 in a: for x5 in a: s = x1+x2+x3+x4+x5 if s[0] == ’5’ and len(set(s)) == len(s): # проверка, что число начинается с 5 и каждая цифра встречается единожды # проверка, что есть в слове тройка подряд идущих чётных цифр и нет при этом чётверки подряд идущих цифр if any(word in s for word in done) and all(word not in s for word in lock): count += 1 print(count)
Решение через itertools
from itertools import permutations chet = ’02468’ # чётные цифры done = [x1+x2+x3 for x1 in chet for x2 in chet for x3 in chet] # комбинации, из которых ни одна не должна быть в подходящем слове, так как нас интересуют слова, где идут подряд ровно 3 чётные цифры lock = [x1+x2+x3+x4 for x1 in chet for x2 in chet for x3 in chet for x4 in chet] count = 0 for x in permutations(’0123456789’,r = 5): # перебор слов s = ’’.join(x) if s[0] == ’5’:# проверка, что число начинается с 5 # проверка, что есть в слове тройка подряд идущих чётных цифр и нет при этом чётверки подряд идущих цифр if any(word in s for word in done) and all(word not in s for word in lock): count += 1 print(count)
Ошибка.
Попробуйте повторить позже
Друг составляет шестизначные числа, используя цифры от 1 до 5 включительно. Цифры в числе могут повторяться. Число начинается с нечётной цифры, а заканчивается на чётную цифру. Сколько различных чисел друг может составить?
Решение руками:
Первой цифрой числа может быть одна из 3 нечётных цифр, а последней цифрой числа может быть одна из 2 чётных цифр. На каждое оставшееся место в числе можно поставить любую из 5 цифр. Значит друг может составить различных чисел.
Решение циклами:
all_num = ’12345’ chet_num = ’24’ nechet_num = ’135’ c = 0 for x in nechet_num: for y in all_num: for z in all_num: for w in all_num: for k in all_num: for l in chet_num: c += 1 print(c)
Решение itertools:
from itertools import product all_num = ’12345’ chet_num = ’24’ nechet_num = ’135’ c = 0 for x in product(all_num, repeat = 6): s = ’’.join(x) if s[0] in nechet_num and s[-1] in chet_num: c += 1 print(c)
Ошибка.
Попробуйте повторить позже
Друг составляет пары чисел, используя цифры от 0 до 9. Первое число состоит из 2 цифр, а второе — из 7. Цифры в каждом из чисел могут использоваться любое количество раз, причём второе число не содержит в себе чётных цифр. Сколько различных пар чисел друг может составить?
Решение руками:
В первом числе друг может на первое место поставить любую из цифр (числа не могут получаться с нуля), а на второе любую из цифр. Значит первое число можно составить различными способами. Во втором числе на каждой из позиций может стоять любая из 5 нечётных цифр. Значит второе число можно составить различными способами.
Представим, что первые числа — чашки, а вторые числа — блюдца. Сколько различных вариаций кружка+чашка можно составить?
Можно составить различных пар чисел (блюдец с чашкой).
Решение циклами:
all_num = ’0123456789’ all_num_first_place = ’123456789’ nechet_num = ’13579’ c = 0 for x in all_num_first_place: for y in all_num: for z in nechet_num: for w in nechet_num: for u in nechet_num: for p in nechet_num: for t in nechet_num: for k in nechet_num: for o in nechet_num: c += 1 print(c)
Ошибка.
Попробуйте повторить позже
Друг составляет пары чисел, используя цифры от 4 до 9. Оба числа состоят из 4 цифр. Каждая из цифр в первом числе может использоваться ровно 1 раз, а во втором любое количество раз, причём второе число не может начинаться с цифры 6, а первое с цифры 7. Сколько различных пар чисел друг может составить?
В первом числе друг может на первом месте поставить любую из цифр, кроме 7, всего таких цифр 5. На второе место можно поставить любую из 5 оставшихся цифр, т.к. одна из них уже стоит на первом месте. По той же логике, на третье место можно поставить любую из 4 оставшихся цифр, а на четвёртое — любую из 3 оставшихся. Значит первое число можно составить различными способами. Во втором числе на первом месте может стоять любая цифра, кроме 6, всего таких цифр 5. На каждой из оставшихся позиций может стоять любая из 6 цифр. Значит второе число можно составить различными способами.
Представим, что первые числа — чашки, а вторые числа — блюдца. Сколько различных вариаций кружка+чашка можно составить?
Можно составить различных пар чисел (блюдец с чашкой).
Решение программой (циклы):
ans = set() alf = ’456789’ for x1 in alf: for x2 in alf: for x3 in alf: for x4 in alf: w1 = x1 + x2 + x3 + x4 if len(w1) == len(set(w1)): for y1 in alf: for y2 in alf: for y3 in alf: for y4 in alf: w2 = y1 + y2 + y3 + y4 if w1[0] != ’7’ and w2[0] != ’6’: ans.add((w1, w2)) print(len(ans))
Решение программой (itertools):
from itertools import permutations, product ans = set() alf = ’456789’ for x in permutations(alf, 4): for y in product(alf, repeat=4): if x[0] != ’7’ and y[0] != ’6’: ans.add((x, y)) print(len(ans))
Ошибка.
Попробуйте повторить позже
Аслан составляет пары слов. Первое 3-буквенное слово состоит из букв Д, О, М, а второе 5-буквенное из букв Р, А, Б, О, Т. Каждая из букв может встречаться в словах ровно один раз. Сколько различных пар слов может составить Аслан?
В первом слове Аслан первой буквой может поставить любую из 3 доступных букв, второй буквой — любую из оставшихся 2, а третьей последнюю оставшуюся букву. Значит первое слово можно составить способами. Во втором слове Аслан первой буквой может поставить любую из 5 доступных букв, второй буквой — любую из оставшихся 4, третьей — любую из оставшихся 3, . Значит второе слово можно составить способами.
Представим, что первые слова — чашки, а вторые слова — блюдца. Сколько различных вариаций кружка+чашка можно составить?
Можно составить различных пар слов (блюдец с чашкой).
Решение программой (циклы):
ans = set() alf1 = ’ДОМ’ alf2 = ’РАБОТ’ for x1 in alf1: for x2 in alf1: for x3 in alf1: w1 = x1 + x2 + x3 if len(w1) == len(set(w1)): for y1 in alf2: for y2 in alf2: for y3 in alf2: for y4 in alf2: for y5 in alf2: w2 = y1 + y2 + y3 + y5 if len(w2) == len(set(w2)): ans.add((w1, w2)) print(len(ans))
Решение программой (itertools):
from itertools import permutations ans = set() alf1 = ’ДОМ’ alf2 = ’РАБОТ’ for x in permutations(alf1, 3): for y in permutations(alf2, 5): ans.add((x, y)) print(len(ans))
Ошибка.
Попробуйте повторить позже
Каждый символ алфавита записан с помощью 4 цифр двоичного кода. Какое максимальное количество символов в этом алфавите?
Раз один символ записан 4 цифрами двоичного кода, то это значит, что он “весит” 4 бита. Бит может
принимать 2 значения, а это значит, что количество возможных варинатов:
Значит, в этом алфавите 16 различных символов.
Решение программой (циклы):
ans = set() alf = ’01’ for x1 in alf: for x2 in alf: for x3 in alf: for x4 in alf: w1 = x1 + x2 + x3 + x4 ans.add(w1) print(len(ans))
Решение программой (itertools):
from itertools import product ans = set() alf = ’01’ for x in product(alf, repeat=4): ans.add(x) print(len(ans))
Ошибка.
Попробуйте повторить позже
Дима составляет 4-буквенные слова из букв П, И, К, С, Е, Л, Ь. Каждая из букв может встречаться в слове ровно один раз или не встречаться совсем. Сколько различных слов может составить Дима?
Первой буквой Дима может поставить любую из 7 букв, т.е. выбрать эту букву одним из семи способов.
Второй буквой Дима может поставить любую из 6 оставшихся букв, т.е. выбрать её 6 способами, т.к.
одна из допустимых букв уже использована. По той же логике, третью букву он может выбрать 5
способами, а четвёртую —- 4 способами. Всего Дима может составить различных слов.
Решение программой (циклы):
ans = set() alf = ’ПИКСЕЛЬ’ for x1 in alf: for x2 in alf: for x3 in alf: for x4 in alf: w = x1 + x2 + x3 + x4 if len(w) == len(set(w)): ans.add(w) print(len(ans))
Решение программой (itertools):
from itertools import permutations ans = set() alf = ’ПИКСЕЛЬ’ for x in permutations(alf, 4): ans.add(x) print(len(ans))
Ошибка.
Попробуйте повторить позже
Рома составляет 5-буквенные слова из букв М, А, С, И, В. Каждая из букв может встречаться в слове сколько угодно раз или не встречаться совсем, причём слово должно начинаться с буквы С. Сколько различных слов может составить Рома?
Первой буквой Рома ставит С, поставить её он может единственным способом. На любое из 4
оставшихся мест он может поставить любую из 5 букв, а значит на каждое из этих мест букву можно
поставить 5 способами. Всего Рома может составить различных слов.
Решение программой (циклы):
ans = set() alf = ’МАСИВ’ for x1 in alf: for x2 in alf: for x3 in alf: for x4 in alf: for x5 in alf: w = x1 + x2 + x3 + x4 + x5 if x1 == ’С’: ans.add(w) print(len(ans))
Решение программой (itertools):
from itertools import product ans = set() alf = ’МАСИВ’ for x in product(alf, repeat=5): if x[0] == ’С’: ans.add(x) print(len(ans))
Ошибка.
Попробуйте повторить позже
Кадыр составляет 6-буквенные слова из букв К, О, М, П, И, Л, Я, Т, Р. Каждая из букв может встречаться в слове ровно один раз или не встречаться совсем, причём последней буквой слова должна быть Р. Сколько различных слов может составить Кадыр?
На последнее место Кадыр ставит букву Р, сделать это он может единственным способом.
На первое место он ставит любую из 8 оставшихся букв, т.к. буква Р уже использована, и
делает он это одним из 8 способов. На второе он ставит любую из 7 оставшихся, на третье
— любую из 6 оставшихся, на четвертое — любую из 5 оставшихся, а на третье — любую
из 4 оставшихся. Всего Кадыр может составить различных слов.
Решение программой (циклы):
ans = set() alf = ’КОМПИЛЯТР’ for x1 in alf: for x2 in alf: for x3 in alf: for x4 in alf: for x5 in alf: for x6 in alf: w = x1 + x2 + x3 + x4 + x5 + x6 if len(w) == len(set(w)) and x6 == ’Р’: ans.add(w) print(len(ans))
Решение программой (itertools):
from itertools import permutations ans = set() alf = ’КОМПИЛЯТР’ for x in permutations(alf, 6): if x[-1] == ’Р’: ans.add(x) print(len(ans))
Ошибка.
Попробуйте повторить позже
Катя составляет 5-буквенные слова из букв М, О, Д, У, Л, Ь. Каждая из букв может встречаться в слове сколько угодно раз или не встречаться совсем, причём слово не может начинаться с Ь. Сколько различных слов может составить Катя?
На первое место Катя ставит любую букву, кроме Ь, т.е. одну из 5 букв. На все последующие 4 места
Катя ставит любую из 6 букв. Всего Катя может составить различных слов.
Решение программой (циклы):
ans = set() alf = ’МОДУЛЬ’ for x1 in alf: for x2 in alf: for x3 in alf: for x4 in alf: for x5 in alf: w = x1 + x2 + x3 + x4 + x5 if x1 != ’Ь’: ans.add(w) print(len(ans))
Решение программой (itertools):
from itertools import product ans = set() alf = ’МОДУЛЬ’ for x in product(alf, repeat=5): if x[0] != ’Ь’: ans.add(x) print(len(ans))
Ошибка.
Попробуйте повторить позже
Лиза составляет 5-буквенные слова из букв С, Е, Р, В. Каждая из букв может встречаться в слове сколько угодно раз или не встречаться совсем. Сколько различных слов может составить Лиза?
На каждое из 5 мест в слове Лиза ставит любую из 4 букв. Всего Лиза может составить
различных слова.
Решение программой (циклы):
ans = set() alf = ’СЕРВ’ for x1 in alf: for x2 in alf: for x3 in alf: for x4 in alf: for x5 in alf: w = x1 + x2 + x3 + x4 + x5 ans.add(w) print(len(ans))
Решение программой (itertools):
from itertools import product ans = set() alf = ’СЕРВ’ for x in product(alf, repeat=5): ans.add(x) print(len(ans))