№8 — примеры решений
3 прототипа. Каждый — с собственным разбором.
📐 Формулы и краткие пояснения
шпаргалка
Условие
Все шестибуквенные слова, составленные из букв Г, Р, А, Н, И, Т, записаны в алфавитном порядке и пронумерованы.
Вот начало списка:
1. АААААА
2. АААААГ
3. АААААИ
4. АААААН
5. АААААР
6. АААААТ
Определите, под каким номером в этом списке стоит первое слово с нечётным номером, которое не начинается с букв А, И или Г и при этом содержит в своей записи ровно одну букву А.
Примечание. Слово - последовательность идущих подряд букв, не обязательно осмысленная.
Решение
from itertools import product
letters = sorted('ГРАНИТ') # А Г И Н Р Т
k = 0
result = None
for i, w in enumerate(product(letters, repeat=6), 1):
s = ''.join(w)
if i % 2 == 1 and s[0] not in ('А','И','Г') and s.count('А') == 1:
result = i
break
print(result)
Ответ:23589
Условие
Вася составляет 6-буквенные слова, в которых есть только буквы К, А, Н, Т, причем буква К используется в каждом слове ровно 2 раза. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Словом считается любая допустимая последовательность букв, не обязательно осмысленная.
Сколько существует таких слов, которые может написать Вася?
Решение
from itertools import *
k = 0
for w in product('кант', repeat=6):
s = ''.join(w)
if s.count('к') == 2:
k += 1
print(k)
Ответ:1215
Условие
Определите, сколько пятизначных чисел, записанных в семеричной системе счисления, содержат ровно одну цифру 0 и не более двух цифр 1.
Решение
from itertools import product
count = 0
for digits in product('0123456', repeat=5):
if digits[0] == '0':
continue
s = ''.join(digits)
if s.count('0') == 1 and s.count('1') <= 2:
count += 1
print(count)
Ответ:5100
📚
Все задачи с разбором
132
Условие
Все пятибуквенные слова, составленные из букв С, Т, Р, О, К, А, записаны в алфавитном порядке и пронумерованы.
Вот начало списка:
1. ААААА
2. ААААК
3. ААААО
4. ААААР
5. ААААС
6. ААААТ
……
Определите, под каким номером в этом списке стоит последнее слово с чётным номером, которое не начинается с букв А, С или Т и при этом содержит в своей записи ровно две буквы О. Примечание. Слово — последовательность идущих подряд букв, не обязательно осмысленная.
Решение
from itertools import product
letters = sorted('СТРОКА') # А К О Р С Т
result = None
for i, w in enumerate(product(letters, repeat=5), 1):
s = ''.join(w)
if i % 2 == 0 and s[0] not in ('А','С','Т') and s.count('О') == 2:
result = i
print(result)
Ответ:5058
Условие
Все пятибуквенные слова, в состав которых могут входить только русские буквы Я, Н, В, А, Р, Ь, записаны в алфавитном порядке и пронумерованы.
Ниже приведено начало списка:
1. ААААА
2. ААААВ
3. ААААН
4. ААААР
5. ААААЬ
6. ААААЯ
7. АААВА.
Под каким номером в списке идёт последнее слово, которое не начинается с буквы Я, содержит не более одной буквы Ь и не содержит букв Я, стоящих рядом?
Решение
from itertools import product
letters = sorted('ЯНВАРЬ') # А В Н Р Ь Я
result = None
for i, w in enumerate(product(letters, repeat=5), 1):
s = ''.join(w)
if s[0] != 'Я' and s.count('Ь') <= 1 and 'ЯЯ' not in s:
result = i
print(result)
Ответ:6406
Условие
Все 5-буквенные слова, в составе которых могут быть только буквы Ф, О, К, У, С, записаны в алфавитном порядке и пронумерованы.
Вот начало списка:
1. ККККК
2. ККККО
3. ККККС
4. ККККУ
5. ККККФ
Под каким номером в списке идёт последнее слово, которое не содержит букв Ф и содержит ровно две буквы У?
Решение
from itertools import product
letters = sorted('ФОКУС') # К О С У Ф
result = None
for i, w in enumerate(product(letters, repeat=5), 1):
s = ''.join(w)
if 'Ф' not in s and s.count('У') == 2:
result = i
print(result)
Ответ:2313
Условие
Определите количество девятеричных пятизначных чисел, в записи которых ровно одна цифра 0, при этом никакая нечётная цифра не стоит рядом с цифрой 0.
Решение
from itertools import product
count = 0
odds = set('1357')
for digits in product('012345678', repeat=5):
if digits[0] == '0':
continue
s = ''.join(digits)
if s.count('0') == 1:
pos = s.index('0')
ok = True
if pos > 0 and s[pos-1] in odds:
ok = False
if pos < 4 and s[pos+1] in odds:
ok = False
if ok:
count += 1
print(count)
Ответ:5120
Условие
Все 5-буквенные слова, в составе которых могут быть только буквы Ф, О, К, У, С, записаны в алфавитном порядке и пронумерованы.
Вот начало списка:
1. ККККК
2. ККККО
3. ККККС
4. ККККУ
5. ККККФ
Под каким номером в списке идёт последнее слово, которое не содержит букв Ф и содержит ровно две буквы У?
Решение
from itertools import product
letters = sorted('ФОКУС') # К О С У Ф
result = None
for i, w in enumerate(product(letters, repeat=5), 1):
s = ''.join(w)
if 'Ф' not in s and s.count('У') == 2:
result = i
print(result)
Ответ:2313
Условие
Все шестибуквенные слова, в составе которых могут быть только буквы П, О, Б, Е, Д, А, записаны в алфавитном порядке и пронумерованы начиная с 1.
Ниже приведено начало списка.
1. АААААА
2. АААААБ
3. АААААД
4. АААААЕ
5. АААААО
6. АААААП
…
Определите последний чётный номер слова, которое начинается с буквы О и в котором каждая буква встречается ровно один раз.
Примечание. Слово - последовательность идущих подряд букв, не обязательно осмысленная.
Решение
from itertools import product
letters = sorted('ПОБЕДА') # А Б Д Е О П
result = None
for i, w in enumerate(product(letters, repeat=6), 1):
s = ''.join(w)
if i % 2 == 0 and s[0] == 'О' and len(set(s)) == 6:
result = i
print(result)
Ответ:38306
Условие
Сколько существует десятичных четырёхзначных чисел, в которых все цифры различны и никакие две чётные или две нечётные цифры не стоят рядом?
Решение
count = 0
for d1 in range(1, 10):
for d2 in range(0, 10):
if d2 == d1:
continue
if d1 % 2 == d2 % 2:
continue
for d3 in range(0, 10):
if d3 in (d1, d2) or d2 % 2 == d3 % 2:
continue
for d4 in range(0, 10):
if d4 in (d1, d2, d3) or d3 % 2 == d4 % 2:
continue
count += 1
print(count)
Ответ:720
Условие
Все шестибуквенные слова, составленные из букв Т, Е, О, Р, И, Я, записаны в алфавитном порядке и пронумерованы.
Вот начало списка:
1. ЕЕЕЕЕЕ
2. ЕЕЕЕЕИ
3. ЕЕЕЕЕО
4. ЕЕЕЕЕР
5. ЕЕЕЕЕТ
6. ЕЕЕЕЕЯ
…
Определите, под каким номером в этом списке стоит последнее слово с нечётным номером, которое не начинается с букв Р, Т или Я и при этом содержит в своей записи не менее двух букв И.
Примечание. Слово - последовательность идущих подряд букв, не обязательно осмысленная.
Решение
from itertools import product
letters = sorted('ТЕОРИЯ') # Е И О Р Т Я
result = None
for i, w in enumerate(product(letters, repeat=6), 1):
s = ''.join(w)
if i % 2 == 1 and s[0] not in ('Р','Т','Я') and s.count('И') >= 2:
result = i
print(result)
Ответ:23159
Условие
Все пятибуквенные слова, составленные из букв С, Т, Р, О, К, А, записаны в алфавитном порядке и пронумерованы.
Вот начало списка:
1. ААААА
2. ААААК
3. ААААО
4. ААААР
5. ААААС
6. ААААТ
Определите, под каким номером в этом списке стоит последнее слово с нечётным номером, которые не начинается с букв А или П и при этом содержит в своей записи ровно одну букву С.
Примечание. Слово - последовательность идущих подряд букв, не обязательно осмысленная.
Решение
from itertools import product
letters = sorted('СТРОКА') # А К О Р С Т
result = None
for i, w in enumerate(product(letters, repeat=5), 1):
s = ''.join(w)
if i % 2 == 1 and s[0] not in ('А','П') and s.count('С') == 1:
result = i
print(result)
Ответ:7775
Условие
Сколько существует семеричных пятизначных чисел, содержащих в своей записи ровно одну цифру 6 и не содержащих идущих подряд одинаковых цифр?
Решение
from itertools import product
count = 0
for digits in product('0123456', repeat=5):
if digits[0] == '0':
continue
s = ''.join(digits)
if s.count('6') == 1:
ok = all(s[j] != s[j+1] for j in range(4))
if ok:
count += 1
print(count)
Ответ:3625
Условие
Все пятибуквенные слова, составленные из букв А, Л, Г, О, Р, И, Т, М записаны в алфавитном порядке и пронумерованы.
Вот начало списка:
1. ААААА
2. ААААГ
3. ААААИ
4. ААААЛ
5. ААААМ
6. ААААО
Определите, под каким номером в этом списке стоит последнее слово с чётным номером, которые не начинается с букв Т или Р и при этом содержит в своей записи не менее двух букв И.
Примечание. Слово - последовательность идущих подряд букв, не обязательно осмысленная.
Решение
from itertools import product
letters = sorted('АЛГОРИТМ') # А Г И Л М О Р Т
result = None
for i, w in enumerate(product(letters, repeat=5), 1):
s = ''.join(w)
if i % 2 == 0 and s[0] not in ('Т','Р') and s.count('И') >= 2:
result = i
print(result)
Ответ:24216
Условие
Все пятибуквенные слова, составленные из букв А, Л, Г, О, Р, И, Т, М, записаны в алфавитном порядке и пронумерованы.
Вот начало списка:
1. ААААА
2. ААААГ
3. ААААИ
4. ААААЛ
5. ААААМ
6. ААААО
7. ААААР
Определите, под каким номером в этом списке стоит первое слово с чётным номером, которое не начинается с букв А или Г и при этом содержит в своей записи не менее двух букв Р.
Примечание. Слово - последовательность идущих подряд букв, не обязательно осмысленная.
Решение
from itertools import product
letters = sorted('АЛГОРИТМ') # А Г И Л М О Р Т
result = None
for i, w in enumerate(product(letters, repeat=5), 1):
s = ''.join(w)
if i % 2 == 0 and s[0] not in ('А','Г') and s.count('Р') >= 2:
result = i
break
print(result)
Ответ:8626
Условие
Определите количество 12-ричных пятизначных чисел, в записи которых ровно одна цифра 7 и не более трёх цифр с числовым значением, превышающим 8.
Решение
from itertools import product
count = 0
for digits in product(range(12), repeat=5):
if digits[0] == 0:
continue
if digits.count(7) == 1:
gt8 = sum(1 for d in digits if d > 8)
if gt8 <= 3:
count += 1
print(count)
Ответ:67476
Условие
Все пятибуквенные слова, в состав которых могут входить только русские буквы Ц, И, Р, С, Т, У, записаны в алфавитном порядке и пронумерованы.
Ниже приведено начало списка:
1. ИИИИИ
2. ИИИИР
3. ИИИИС
4. ИИИИТ
5. ИИИИУ
6. ИИИИЦ
7. ИИИРИ
...
Под каким номером в списке идёт последнее слово, которое содержит ровно две буквы И и не содержит букв Ц, стоящих рядом?
Примечание. Слово — последовательность идущих подряд букв, не обязательно осмысленная.
Решение
from itertools import product
letters = sorted('ЦИРСТУ') # И Р С Т У Ц
result = None
for i, w in enumerate(product(letters, repeat=5), 1):
s = ''.join(w)
if s.count('И') == 2 and 'ЦЦ' not in s:
result = i
print(result)
Ответ:7525
Условие
Иван составляет 5-буквенные слова из букв А, Б, В, Г, Д, Я. В каждом слове содержится ровно три буквы Я.
Сколько различных кодовых слов может составить Иван?
Решение
from itertools import *
k = 0
for w in product('абвгдя', repeat=5):
s = ''.join(w)
if s.count('я') == 3:
k += 1
print(k)
Ответ:250
Условие
Определите количество пятизначных чисел, записанных в восьмеричной системе счисления, в записи которых только одна цифра 6, при этом никакая нечетная цифра не стоит рядом с цифрой 6.
В ответе укажите только число.
Решение
from itertools import *
k = 0
for w in product('01234567', repeat=5):
s = ''.join(w)
s = s.replace('1', '7').replace('3', '7').replace('5', '7')
if s[0] != '0' and s.count('6') == 1 and not '67' in s and not '76' in s:
k += 1
print(k)
Ответ:2961
Условие
Василий составляет 6-буквенные слова из букв А, Р, Б, У, З. Каждую букву можно использовать любое количество раз, при этом слово содержит три буквы А, две из которых стоят рядом, а третья отдельно от них.
Сколько различных слов может составить Василий?
Решение
from itertools import *
k = 0
for w in product('арбуз', repeat=6):
s = ''.join(w)
if s.count('а') == 3 and 'аа' in s and 'ааа' not in s:
k += 1
print(k)
Ответ:768
Условие
Сколько можно составить различных кодов, в составе которых встречаются две подряд идущие гласные, путем перестановки букв слова СОТОЧКА?
В ответе укажите только число.
Решение
from itertools import *
k = 0
for w in set(permutations('соточка')):
s = ''.join(w)
s = s.replace('а', 'о')
if 'оо' in s:
k += 1
print(k)
Ответ:1800
Условие
Определите количество пятизначных чисел, записанных в восьмеричной системе счисления, запись которых не начинается с нечетных цифр, не оканчивается цифрами 2 или 6, а также не содержит более двух цифр 7.
В ответе укажите только число.
Решение
from itertools import *
k = 0
for w in product('01234567', repeat=5):
s = ''.join(w)
if s[0] != '0' and s[-1] != '2' and s[-1] != '6' and s.count('7') <= 2:
s = s.replace('1', '7').replace('3', '7').replace('5', '7')
if s[0] != '7':
k += 1
print(k)
Ответ:9135
Условие
Гарри решил составлять слова с помощью перестановки букв в слове ЛЕВИОСА. Слово не может начинаться с гласной, а в центре не может стоять согласная буква. Словом считается любая допустимая последовательность букв, не обязательно осмысленная.
Сколько слов может составить Гарри?
Решение
from itertools import *
k = 0
for w in permutations('левиоса'):
s = ''.join(w)
s = s.replace('л', 'с').replace('в', 'с')
s = s.replace('е', 'а').replace('и', 'а').replace('о', 'а')
if s[0] != 'а' and s[3] != 'с':
k += 1
print(k)
Ответ:1440
Условие
Аня составляет 5-буквенные слова из букв К, А, Р, П, Ы. Каждая буква может встречаться ровно один раз. При этом в слове не могут стоять рядом две гласные буквы, а буква Р не может стоять на первом или последнем месте. Словом считается любая допустимая последовательность букв, не обязательно осмысленная.
Сколько слов может составить Аня?
Решение
from itertools import *
k = 0
for w in permutations('карпы', r=5):
s = ''.join(w)
s = s.replace('а', 'ы')
if s[0] != 'р' and s[-1] != 'р' and not 'ыы' in s:
k += 1
print(k)
Ответ:48
Условие
Определите количество шестизначных чисел, записанных в шестеричной системе счисления, в записи которых ровно одна цифра 2, при этом никакая нечетная цифра не стоит рядом с цифрой 2.
В ответе укажите только число.
Решение
from itertools import *
k = 0
for w in product('012345', repeat=6):
s = ''.join(w)
s = s.replace('1', '5').replace('3', '5')
if s[0] != '0' and s.count('2') == 1 and not '52' in s and not '25' in s:
k += 1
print(k)
Ответ:3700
Условие
Все четырехбуквенные слова, в составе которых могут быть только русские буквы А, В, Л, О, Р, записаны в алфавитном порядке и пронумерованы начиная с 1. Ниже приведено начало списка: 1. АААА 2. АААВ 3. АААЛ 4. АААО 5. АААР 6. ААВА.
Под каким номером идет первое слово, начинающееся на Л?
Решение
from itertools import *
k = 0
for w in product('авлор', repeat=4):
s = ''.join(w)
k += 1
if s[0] == 'л':
print(k)
break
Ответ:251
Условие
Все пятибуквенные слова, в составе которых могут быть только русские буквы А, К, Л, М, Н, Я, записаны в алфавитном порядке и пронумерованы начиная с 1. Ниже приведено начало списка: 1. ААААА 2. ААААК 3. ААААЛ 4. ААААМ 5. ААААН 6. ААААЯ 7. АААКА.
Под каким номером в списке идет первое слово, которое начинается на буквы КМ?
Решение
from itertools import *
k = 0
for w in product('аклмня', repeat=5):
s = ''.join(w)
k += 1
if s[0] == 'к' and s[1] == 'м':
print(k)
break
Ответ:1945
Условие
Игорь составляет таблицу кодовых слов для передачи сообщений, каждому сообщению соответствует свое кодовое слово. В качестве кодовых слов Игорь использует 6-буквенные слова, в которых есть только буквы М, А, С, Л, О, причем в кодовом слове должна встречаться ровно одна гласная, согласные буквы могут встречаться в кодовом слове любое количество раз или не встречаться совсем.
Сколько различных кодовых слов может использовать Игорь?
Решение
from itertools import *
k = 0
for w in product('масло', repeat=6):
s = ''.join(w)
s = s.replace('а', 'о')
if s.count('о') == 1:
k += 1
print(k)
Ответ:2916
Условие
Ярослав составляет коды из букв, входящих в слово ЯРОСЛАВ. Код должен состоять из 5 букв, буквы в коде не должны повторяться, согласных в коде должно быть больше, чем гласных, две гласные буквы нельзя ставить рядом.
Сколько кодов может составить Ярослав?
Решение
from itertools import *
k = 0
for w in permutations('ярослав', r=5):
s = ''.join(w)
s = s.replace('я', 'а').replace('о', 'а')
s = s.replace('р', 'в').replace('с', 'в').replace('л', 'в')
if s.count('в') > s.count('а') and not 'аа' in s:
k += 1
print(k)
Ответ:1224
Условие
Все пятибуквенные слова, составленные из букв М, И, З, А, Н, Т, Р, О, П, записаны в алфавитном порядке и пронумерованы. Ниже приведено начало списка: 1. ААААА 2. ААААЗ 3. ААААИ 4. ААААМ 5. ААААН 6. ААААО 7. ААААП 8. ААААР.
Под каким номером в списке стоит последнее слово с четным номером, которое начинается с буквы Н и содержит ровно две буквы Р?
Решение
from itertools import *
k = 0
for w in sorted(product('мизантроп', repeat=5)):
s = ''.join(w)
k += 1
if k % 2 == 0 and s[0] == 'н' and s.count('р') == 2:
result = k
print(result)
Ответ:32712
Условие
Все шестибуквенные слова, составленные из букв С, О, Л, Н, Ц, Е, записаны в алфавитном порядке и пронумерованы. Ниже приведено начало списка: 1. ЕЕЕЕЕЕ 2. ЕЕЕЕЕЛ 3. ЕЕЕЕЕН 4. ЕЕЕЕЕО 5. ЕЕЕЕЕС 6. ЕЕЕЕЕЦ.
Определите в этом списке количество слов с четными номерами, которые не начинаются с гласной буквы и при этом содержат в своей записи ровно две буквы Ц.
Решение
from itertools import *
k = 0
d = []
for w in sorted(product('солнце', repeat=6)):
s = ''.join(w)
k += 1
f = s.replace('о', 'е')
if k % 2 == 0 and f[0] != 'е' and f.count('ц') == 2:
d.append(s)
print(len(d))
Ответ:4025
Условие
Определите количество семизначных чисел, записанных в девятеричной системе счисления, в записи которых только одна цифра 6, и при этом никакие две четные или две нечетные цифры не стоят рядом.
В ответе укажите только число.
Решение
from itertools import *
k = 0
for w in product('012345678', repeat=7):
s = ''.join(w)
if s[0] != '0' and s.count('6') == 1:
s = s.replace('0', '8').replace('2', '8').replace('4', '8').replace('6', '8')
s = s.replace('1', '7').replace('3', '7').replace('5', '7')
if not '88' in s and not '77' in s:
k += 1
print(k)
Ответ:25600
Условие
Сколько существует семизначных семеричных чисел, которые содержат в своей записи ровно две четные цифры?
В ответе укажите только число.
Решение
from itertools import *
k = 0
for w in product('0123456', repeat=7):
s = ''.join(w)
cch = s.count('0') + s.count('2') + s.count('4') + s.count('6')
if s[0] != '0' and cch == 2:
k += 1
print(k)
Ответ:75816
Условие
Определите количество восьмеричных пятизначных чисел, которые не начинаются с нечетных цифр, не оканчиваются цифрами 2 или 6, а также содержат не более двух цифр 7.
В ответе укажите только число.
Решение
from itertools import *
k = 0
for w in product('01234567', repeat=5):
s = ''.join(w)
if s[0] != '0' and s[0] != '1' and s[0] != '3' and s[0] != '5' and s[0] != '7' and s[-1] != '2' and s[-1] != '6' and s.count('7') <= 2:
k += 1
print(k)
Ответ:9135
Условие
Все четырехбуквенные слова, в составе которых могут быть только русские буквы М, И, Н, У, С, записаны в алфавитном порядке и пронумерованы начиная с 1. Вот начало списка: 1. ИИИИ 2. ИИИМ 3. ИИИН 4. ИИИС 5. ИИИУ.
Под каким номером в списке идет последнее слово, в котором согласных букв не меньше, чем гласных?
Решение
from itertools import *
k = 0
a = set()
for w in sorted(product('минус', repeat=4)):
s = ''.join(w)
k += 1
s = s.replace('м', 'с').replace('н', 'с')
s = s.replace('и', 'у')
if s.count('с') >= s.count('у'):
result = k
print(result)
Ответ:619
Условие
Определите количество семизначных чисел, записанных в девятеричной системе счисления, учитывая, что числа не могут начинаться с цифр 2, 4 и 6 и не должны заканчиваться на тройку одинаковых цифр (например, на 000).
В ответе укажите только число.
Решение
from itertools import *
k = 0
for w in set(product('012345678', repeat=7)):
s = ''.join(w)
if s[0] != '0' and s[0] != '2' and s[0] != '4' and s[0] != '6' and s[-3:] != '000' and s[-3:] != '111' and s[-3:] != '222' and s[-3:] != '333' and s[-3:] != '444' and s[-3:] != '555' and s[-3:] != '666' and s[-3:] != '777' and s[-3:] != '888' and s[-3:] != '999':
k += 1
print(k)
Ответ:2624400
Условие
Все пятибуквенные слова, в составе которых могут быть только русские буквы П, Р, Е, С, Т, О, Л, записаны в алфавитном порядке и пронумерованы начиная с 1. Вот начало списка: ЕЕЕЕЕ, ЕЕЕЕЛ, ЕЕЕЕО, ЕЕЕЕП, ЕЕЕЕР.
Сколько слов в списке с нечетным номером оканчиваются на гласную букву и содержат не более трех согласных в своем составе? В ответе укажите только число.
Решение
from itertools import *
d = []
k = 0
a = set()
for w in sorted(product('престол', repeat=5)):
s = ''.join(w)
k += 1
a.add(s)
s = s.replace('п', 'л').replace('р', 'л').replace('с', 'л').replace('т', 'л')
s = s.replace('е', 'о')
if k % 2 != 0 and s.count('л') <= 3 and s[-1] == 'о':
d.append(s)
print(len(d))
Ответ:1776
Условие
Все 5-буквенные слова, в составе которых могут быть только буквы К, О, Д, И, М, записаны в алфавитном порядке и пронумерованы. Вот начало списка: 1. ДДДДД 2. ДДДДИ 3. ДДДДК 4. ДДДДМ 5. ДДДДО. Под каким номером в списке идет последнее слово, которое содержит ровно две буквы М и не содержит букв М, стоящих рядом?
В ответе укажите только число.
Решение
from itertools import *
k = 0
a = set()
for w in sorted(product('кодим', repeat=5)):
s = ''.join(w)
k += 1
a.add(s)
if s.count('м') == 2 and not 'мм' in s:
result = k
print(result)
Ответ:3099
Условие
Определите количество 12-ричных шестизначных чисел, в записи которых содержится ровно одна цифра B и равное количество четных и нечетных цифр.
В ответе укажите только число.
Решение
from itertools import *
k = 0
for w in product('0123456789ab', repeat=6):
s = ''.join(w)
ch = s.count('0') + s.count('2') + s.count('4') + s.count('6') + s.count('8') + s.count('a')
nch = s.count('1') + s.count('3') + s.count('5') + s.count('7') + s.count('9') + s.count('b')
if s[0] != '0' and s.count('b') == 1 and ch == nch:
k += 1
print(k)
Ответ:297000
Условие
Александр составляет 8-буквенные слова, в которых могут быть использованы только буквы К, О, Т, Б, У, С. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Слово должно содержать в себе подстроку КОТ и не должно начинаться с гласной буквы. Словом считается любая допустимая последовательность букв, не обязательно осмысленная.
Сколько существует таких слов, которые может написать Александр?
Решение
from itertools import *
k = 0
for w in product('котбус', repeat=8):
s = ''.join(w)
if 'кот' in s and s[0] not in 'оу':
k += 1
print(k)
Ответ:33516
Условие
Робот перебирает шестизначные девятеричные числа в порядке возрастания. Ниже приведено начало списка: 1. 100000 2. 100001 3. 100002 4. 100003 5. 100004. Напишите последнее число (в девятеричной записи) из списка, в котором никакие две нечетные цифры не стоят рядом, а номер числа оканчивается на цифру 5.
В ответе укажите только число.
Решение
from itertools import *
k = 0
result = None
for i in product('012345678', repeat=6):
s = ''.join(i)
if s[0] != '0':
k += 1
d = s
s_mod = s.replace('1', '7').replace('3', '7').replace('5', '7')
if '77' not in s_mod and str(k)[-1] == '5':
result = d
print(result)
Ответ:888881
Условие
Сколько существует 5-буквенных слов, составленных из букв А, К, Р, в которых буква А встречается ровно 2 раза, сочетание КК не встречается, а первая буква не равна Р?
Решение
from itertools import *
k = 0
for w in product('акр', repeat=5):
s = ''.join(w)
if s.count('а') == 2 and 'кк' not in s and s[0] != 'р':
k += 1
print(k)
Ответ:38
Условие
Сколько существует 4-буквенных слов, составленных из букв Д, О, М, в которых буква О встречается ровно 1 раз, сочетание ДМ не встречается, а последняя буква равна М?
Решение
from itertools import *
k = 0
for w in product('дом', repeat=4):
s = ''.join(w)
if s.count('о') == 1 and 'дм' not in s and s[-1] == 'м':
k += 1
print(k)
Ответ:6
Условие
Сколько существует 5-буквенных слов, составленных из букв Л, И, С, А, в которых буква И встречается ровно 2 раза, сочетание СС не встречается, а первая и последняя буквы различны?
Решение
from itertools import *
k = 0
for w in product('лиса', repeat=5):
s = ''.join(w)
if s.count('и') == 2 and 'сс' not in s and s[0] != s[-1]:
k += 1
print(k)
Ответ:190
Условие
Сколько существует 6-буквенных слов, составленных из букв К, О, Т, в которых буква К встречается ровно 2 раза, сочетание ОО не встречается и сочетание ТТ не встречается?
Решение
from itertools import *
k = 0
for w in product('кот', repeat=6):
s = ''.join(w)
if s.count('к') == 2 and 'оо' not in s and 'тт' not in s:
k += 1
print(k)
Ответ:66
Условие
Сколько существует 5-буквенных слов, составленных из букв М, И, Р, в которых буква Р встречается не менее 2 раз, сочетание МИ не встречается, а вторая буква не равна И?
Решение
from itertools import *
k = 0
for w in product('мир', repeat=5):
s = ''.join(w)
if s.count('р') >= 2 and 'ми' not in s and s[1] != 'и':
k += 1
print(k)
Ответ:79
Условие
Сколько существует 5-буквенных слов, составленных из букв С, Н, Е, Г, в которых буква Е встречается ровно 1 раз, сочетание ГГ не встречается, а первая буква равна С?
Решение
from itertools import *
k = 0
for w in product('снег', repeat=5):
s = ''.join(w)
if s.count('е') == 1 and 'гг' not in s and s[0] == 'с':
k += 1
print(k)
Ответ:92
Условие
Сколько существует 4-буквенных слов, составленных из букв П, А, Р, К, в которых буква А встречается ровно 1 раз, сочетание РК не встречается, а последняя буква не равна П?
Решение
from itertools import *
k = 0
for w in product('парк', repeat=4):
s = ''.join(w)
if s.count('а') == 1 and 'рк' not in s and s[-1] != 'п':
k += 1
print(k)
Ответ:65
Условие
Сколько существует 5-буквенных слов, составленных из букв Л, У, Н, А, в которых буква Н встречается ровно 2 раза, сочетание АА не встречается, а первая буква — Л или Н?
Решение
from itertools import *
k = 0
for w in product('луна', repeat=5):
s = ''.join(w)
if s.count('н') == 2 and 'аа' not in s and s[0] in 'лн':
k += 1
print(k)
Ответ:143
Условие
Сколько существует 5-буквенных слов, составленных из букв Б, Е, Р, Е, Г, в которых буква Е встречается ровно 2 раза, сочетание ГГ не встречается, а последняя буква не равна Б?
Решение
from itertools import *
k = 0
for w in product('берег', repeat=5):
s = ''.join(w)
if s.count('е') == 2 and 'гг' not in s and s[-1] != 'б':
k += 1
print(k)
Ответ:744
Условие
Сколько существует 6-буквенных слов, составленных из букв З, И, М, А, в которых буква А встречается ровно 1 раз, сочетание ИМ не встречается, а первая буква не равна З?
Решение
from itertools import *
k = 0
for w in product('зима', repeat=6):
s = ''.join(w)
if s.count('а') == 1 and 'им' not in s and s[0] != 'з':
k += 1
print(k)
Ответ:654
Условие
Сколько существует 5-буквенных слов, составленных из букв Ш, А, Р, в которых буква Ш встречается ровно 3 раза, сочетание РР не встречается, а третья буква не равна А?
Решение
from itertools import *
k = 0
for w in product('шар', repeat=5):
s = ''.join(w)
if s.count('ш') == 3 and 'рр' not in s and s[2] != 'а':
k += 1
print(k)
Ответ:28
Условие
Сколько существует 5-буквенных слов, составленных из букв Л, И, М, О, Н, в которых буква О встречается ровно 1 раз, сочетание ЛЛ не встречается, а первая буква не равна Н?
Решение
from itertools import *
k = 0
for w in product('лимон', repeat=5):
s = ''.join(w)
if s.count('о') == 1 and 'лл' not in s and s[0] != 'н':
k += 1
print(k)
Ответ:879
Условие
Сколько существует 6-буквенных слов, составленных из букв В, Е, Т, Е, Р, в которых буква Е встречается ровно 2 раза, сочетание ТТ не встречается, а последняя буква — В или Р?
Решение
from itertools import *
k = 0
for w in product('ветер', repeat=6):
s = ''.join(w)
if s.count('е') == 2 and 'тт' not in s and s[-1] in 'вр':
k += 1
print(k)
Ответ:1896
Условие
Сколько существует 5-буквенных слов, составленных из букв Г, Р, О, З, А, в которых буква А встречается не более 1 раза, сочетание ЗЗ не встречается, а первая буква равна Г?
Решение
from itertools import *
k = 0
for w in product('гроза', repeat=5):
s = ''.join(w)
if s.count('а') <= 1 and 'зз' not in s and s[0] == 'г':
k += 1
print(k)
Ответ:450
Условие
Сколько существует 5-буквенных слов, составленных из букв К, Н, И, Г, А, в которых буква И встречается ровно 1 раз, сочетание ГГ не встречается, а последняя буква не равна А?
Решение
from itertools import *
k = 0
for w in product('книга', repeat=5):
s = ''.join(w)
if s.count('и') == 1 and 'гг' not in s and s[-1] != 'а':
k += 1
print(k)
Ответ:879
Условие
Сколько существует 6-буквенных слов, составленных из букв Т, У, М, А, Н, в которых буква У встречается ровно 2 раза, сочетание ММ не встречается, а первая и вторая буквы различны?
Решение
from itertools import *
k = 0
for w in product('туман', repeat=6):
s = ''.join(w)
if s.count('у') == 2 and 'мм' not in s and s[0] != s[1]:
k += 1
print(k)
Ответ:2916
Условие
Сколько существует 5-буквенных слов, составленных из букв Р, О, Б, О, Т, в которых буква О встречается ровно 2 раза, сочетание ББ не встречается, а первая буква равна Р?
Решение
from itertools import *
k = 0
for w in product('робот', repeat=5):
s = ''.join(w)
if s.count('о') == 2 and 'бб' not in s and s[0] == 'р':
k += 1
print(k)
Ответ:204
Условие
Сколько существует 6-буквенных слов, составленных из букв М, А, С, К, А, в которых буква А встречается ровно 2 раза, сочетание СС не встречается, а последняя буква — К или А?
Решение
from itertools import *
k = 0
for w in product('маска', repeat=6):
s = ''.join(w)
if s.count('а') == 2 and 'сс' not in s and s[-1] in 'ка':
k += 1
print(k)
Ответ:2212
Условие
Сколько существует 5-буквенных слов, составленных из букв П, И, Л, А, в которых буква П встречается ровно 1 раз, сочетание ЛЛ не встречается, а вторая буква не равна А?
Решение
from itertools import *
k = 0
for w in product('пила', repeat=5):
s = ''.join(w)
if s.count('п') == 1 and 'лл' not in s and s[1] != 'а':
k += 1
print(k)
Ответ:219
Условие
Сколько существует 4-буквенных слов, составленных из букв Д, Ы, М, в которых буква Ы встречается ровно 2 раза, сочетание ММ не встречается, а первая буква не равна Д?
Решение
from itertools import *
k = 0
for w in product('дым', repeat=4):
s = ''.join(w)
if s.count('ы') == 2 and 'мм' not in s and s[0] != 'д':
k += 1
print(k)
Ответ:15
Условие
Все 5-буквенные слова, в составе которых могут быть только русские буквы А, К, Р, М, записаны в алфавитном порядке и пронумерованы начиная с 1. Вот начало списка: 1. ААААА 2. ААААК 3. ААААМ 4. ААААР 5. АААКА. Под каким наибольшим нечётным номером в списке идёт слово, в котором буква А встречается ровно 2 раза, сочетание КК не встречается, а последняя буква не равна Р?
Решение
from itertools import *
k = 0
for w in sorted(product('акрм', repeat=5)):
s = ''.join(w)
k += 1
if k % 2 != 0 and s.count('а') == 2 and 'кк' not in s and s[-1] != 'р':
result = k
print(result)
Ответ:1009
Условие
Все 4-буквенные слова, в составе которых могут быть только русские буквы Д, О, М, К, записаны в алфавитном порядке и пронумерованы начиная с 1. Вот начало списка: 1. ДДДД 2. ДДДК 3. ДДДМ 4. ДДДО 5. ДДКД. Под каким наибольшим номером, кратным 3, в списке идёт слово, в котором буква О встречается ровно 1 раз, сочетание МД не встречается, а первая буква равна К?
Решение
from itertools import *
k = 0
for w in sorted(product('домк', repeat=4)):
s = ''.join(w)
k += 1
if k % 3 == 0 and s.count('о') == 1 and 'мд' not in s and s[0] == 'к':
result = k
print(result)
Ответ:123
Условие
Все 5-буквенные слова, в составе которых могут быть только русские буквы Л, И, С, А, записаны в алфавитном порядке и пронумерованы начиная с 1. Вот начало списка: 1. ААААА 2. ААААИ 3. ААААЛ 4. ААААС 5. АААИА. Под каким наибольшим нечётным номером в списке идёт слово, в котором буква И встречается ровно 2 раза, сочетание СС не встречается, а первая и последняя буквы различны?
Решение
from itertools import *
k = 0
for w in sorted(product('лиса', repeat=5)):
s = ''.join(w)
k += 1
if k % 2 != 0 and s.count('и') == 2 and 'сс' not in s and s[0] != s[-1]:
result = k
print(result)
Ответ:919
Условие
Все 6-буквенные слова, в составе которых могут быть только русские буквы К, О, Т, записаны в алфавитном порядке и пронумерованы начиная с 1. Вот начало списка: 1. КККККК 2. КККККО 3. КККККТ 4. ККККОК 5. ККККОО. Под каким наибольшим номером, кратным 3, в списке идёт слово, в котором буква К встречается ровно 2 раза, сочетание ОО не встречается и сочетание ТТ не встречается?
Решение
from itertools import *
k = 0
for w in sorted(product('кот', repeat=6)):
s = ''.join(w)
k += 1
if k % 3 == 0 and s.count('к') == 2 and 'оо' not in s and 'тт' not in s:
result = k
print(result)
Ответ:624
Условие
Все 5-буквенные слова, в составе которых могут быть только русские буквы М, И, Р, записаны в алфавитном порядке и пронумерованы начиная с 1. Вот начало списка: 1. ИИИИИ 2. ИИИИМ 3. ИИИИР 4. ИИИМИ 5. ИИИММ. Под каким наибольшим нечётным номером в списке идёт слово, в котором буква Р встречается не менее 2 раз, сочетание МИ не встречается, а вторая буква не равна И?
Решение
from itertools import *
k = 0
for w in sorted(product('мир', repeat=5)):
s = ''.join(w)
k += 1
if k % 2 != 0 and s.count('р') >= 2 and 'ми' not in s and s[1] != 'и':
result = k
print(result)
Ответ:243
Условие
Все 5-буквенные слова, в составе которых могут быть только русские буквы С, Н, Е, Г, записаны в алфавитном порядке и пронумерованы начиная с 1. Вот начало списка: 1. ГГГГГ 2. ГГГГЕ 3. ГГГГН 4. ГГГГС 5. ГГГЕГ. Под каким наибольшим номером, кратным 3, в списке идёт слово, в котором буква Е встречается ровно 1 раз, сочетание ГГ не встречается, а первая буква равна С?
Решение
from itertools import *
k = 0
for w in sorted(product('снег', repeat=5)):
s = ''.join(w)
k += 1
if k % 3 == 0 and s.count('е') == 1 and 'гг' not in s and s[0] == 'с':
result = k
print(result)
Ответ:1002
Условие
Все 4-буквенные слова, в составе которых могут быть только русские буквы П, А, Р, К, записаны в алфавитном порядке и пронумерованы начиная с 1. Вот начало списка: 1. АААА 2. АААК 3. АААП 4. АААР 5. ААКА. Под каким наибольшим нечётным номером в списке идёт слово, в котором буква А встречается ровно 1 раз, сочетание РК не встречается, а последняя буква не равна П?
Решение
from itertools import *
k = 0
for w in sorted(product('парк', repeat=4)):
s = ''.join(w)
k += 1
if k % 2 != 0 and s.count('а') == 1 and 'рк' not in s and s[-1] != 'п':
result = k
print(result)
Ответ:253
Условие
Все 5-буквенные слова, в составе которых могут быть только русские буквы Л, У, Н, А, записаны в алфавитном порядке и пронумерованы начиная с 1. Вот начало списка: 1. ААААА 2. ААААЛ 3. ААААН 4. ААААУ 5. АААЛА. Под каким наибольшим номером, кратным 3, в списке идёт слово, в котором буква Н встречается ровно 2 раза, сочетание АА не встречается, а первая буква — Л или Н?
Решение
from itertools import *
k = 0
for w in sorted(product('луна', repeat=5)):
s = ''.join(w)
k += 1
if k % 3 == 0 and s.count('н') == 2 and 'аа' not in s and s[0] in 'лн':
result = k
print(result)
Ответ:762
Условие
Все 5-буквенные слова, в составе которых могут быть только русские буквы Л, И, М, О, Н, записаны в алфавитном порядке и пронумерованы начиная с 1. Вот начало списка: 1. ИИИИИ 2. ИИИИЛ 3. ИИИИМ 4. ИИИИН 5. ИИИИО. Под каким наибольшим нечётным номером в списке идёт слово, в котором буква О встречается ровно 1 раз, сочетание ЛЛ не встречается, а первая буква не равна Н?
Решение
from itertools import *
k = 0
for w in sorted(product('лимон', repeat=5)):
s = ''.join(w)
k += 1
if k % 2 != 0 and s.count('о') == 1 and 'лл' not in s and s[0] != 'н':
result = k
print(result)
Ответ:2969
Условие
Все 5-буквенные слова, в составе которых могут быть только русские буквы К, Н, И, Г, А, записаны в алфавитном порядке и пронумерованы начиная с 1. Вот начало списка: 1. ААААА 2. ААААГ 3. ААААИ 4. ААААК 5. ААААН. Под каким наибольшим номером, кратным 3, в списке идёт слово, в котором буква И встречается ровно 1 раз, сочетание ГГ не встречается, а последняя буква не равна А?
Решение
from itertools import *
k = 0
for w in sorted(product('книга', repeat=5)):
s = ''.join(w)
k += 1
if k % 3 == 0 and s.count('и') == 1 and 'гг' not in s and s[-1] != 'а':
result = k
print(result)
Ответ:3123
Условие
Все 6-буквенные слова, в составе которых могут быть только русские буквы Т, У, М, А, Н, записаны в алфавитном порядке и пронумерованы начиная с 1. Вот начало списка: 1. АААААА 2. АААААН 3. АААААМ 4. АААААТ 5. АААААУ. Под каким наибольшим нечётным номером в списке идёт слово, в котором буква У встречается ровно 2 раза, сочетание ММ не встречается, а первая и вторая буквы различны?
Решение
from itertools import *
k = 0
for w in sorted(product('туман', repeat=6)):
s = ''.join(w)
k += 1
if k % 2 != 0 and s.count('у') == 2 and 'мм' not in s and s[0] != s[1]:
result = k
print(result)
Ответ:14969
Условие
Все 5-буквенные слова, в составе которых могут быть только русские буквы П, И, Л, А, записаны в алфавитном порядке и пронумерованы начиная с 1. Вот начало списка: 1. ААААА 2. ААААИ 3. ААААЛ 4. ААААП 5. АААИА. Под каким наибольшим номером, кратным 3, в списке идёт слово, в котором буква П встречается ровно 1 раз, сочетание ЛЛ не встречается, а вторая буква не равна А?
Решение
from itertools import *
k = 0
for w in sorted(product('пила', repeat=5)):
s = ''.join(w)
k += 1
if k % 3 == 0 and s.count('п') == 1 and 'лл' not in s and s[1] != 'а':
result = k
print(result)
Ответ:921
Условие
Все 4-буквенные слова, в составе которых могут быть только русские буквы Д, Ы, М, записаны в алфавитном порядке и пронумерованы начиная с 1. Вот начало списка: 1. ДДДД 2. ДДДМ 3. ДДДЫ 4. ДДМД 5. ДДММ. Под каким наибольшим нечётным номером в списке идёт слово, в котором буква Ы встречается ровно 2 раза, сочетание ММ не встречается, а первая буква не равна Д?
Решение
from itertools import *
k = 0
for w in sorted(product('дым', repeat=4)):
s = ''.join(w)
k += 1
if k % 2 != 0 and s.count('ы') == 2 and 'мм' not in s and s[0] != 'д':
result = k
print(result)
Ответ:73
Условие
Все 5-буквенные слова, в составе которых могут быть только русские буквы Г, Р, О, З, А, записаны в алфавитном порядке и пронумерованы начиная с 1. Вот начало списка: 1. ААААА 2. ААААГ 3. ААААЗ 4. ААААО 5. ААААР. Под каким наибольшим номером, кратным 3, в списке идёт слово, в котором буква А встречается не более 1 раза, сочетание ЗЗ не встречается, а первая буква равна Г?
Решение
from itertools import *
k = 0
for w in sorted(product('гроза', repeat=5)):
s = ''.join(w)
k += 1
if k % 3 == 0 and s.count('а') <= 1 and 'зз' not in s and s[0] == 'г':
result = k
print(result)
Ответ:1248
Условие
Все 5-буквенные слова, в составе которых могут быть только русские буквы Р, О, Б, Т, записаны в алфавитном порядке и пронумерованы начиная с 1. Вот начало списка: 1. БББББ 2. ББББО 3. ББББР 4. ББББТ 5. БББОБ. Под каким наибольшим нечётным номером в списке идёт слово, в котором буква О встречается ровно 2 раза, сочетание ОО не встречается, а буква Р встречается ровно 2 раза?
Решение
from itertools import *
k = 0
result = None
for w in sorted(product('робт', repeat=5)):
s = ''.join(w)
k += 1
if k % 2 != 0 and s.count('о') == 2 and 'оо' not in s and s.count('р') == 2:
result = k
print(result)
Ответ:871
Условие
Все 6-буквенные слова, в составе которых могут быть только русские буквы М, А, С, К, записаны в алфавитном порядке и пронумерованы начиная с 1. Вот начало списка: 1. АААААА 2. АААААК 3. АААААМ 4. АААААС 5. ААААКА. Под каким наибольшим номером, кратным 3, в списке идёт слово, в котором буква А встречается ровно 1 раз, буква С встречается не менее 3 раз, а последняя буква — С?
Решение
from itertools import *
k = 0
result = None
for w in sorted(product('маск', repeat=6)):
s = ''.join(w)
k += 1
if k % 3 == 0 and s.count('а') == 1 and s.count('с') >= 3 and s[-1] == 'с':
result = k
print(result)
Ответ:4068
Условие
Все 6-буквенные слова, в составе которых могут быть только русские буквы В, Е, Т, Р, записаны в алфавитном порядке и пронумерованы начиная с 1. Вот начало списка: 1. ВВВВВВ 2. ВВВВВЕ 3. ВВВВВР 4. ВВВВВТ 5. ВВВВЕВ. Под каким наибольшим нечётным номером в списке идёт слово, в котором буква Е не встречается, сочетание ТТ не встречается, а буква Р встречается ровно 1 раз?
Решение
from itertools import *
k = 0
result = None
for w in sorted(product('ветр', repeat=6)):
s = ''.join(w)
k += 1
if k % 2 != 0 and s.count('е') == 0 and 'тт' not in s and s.count('р') == 1:
result = k
print(result)
Ответ:3789
Условие
Все 5-буквенные слова, в составе которых могут быть только русские буквы Б, Е, Р, Г, записаны в алфавитном порядке и пронумерованы начиная с 1. Вот начало списка: 1. БББББ 2. ББББГ 3. ББББЕ 4. ББББР 5. БББГБ. Под каким наибольшим номером, кратным 3, в списке идёт слово, в котором буква Е встречается ровно 1 раз, сочетание ГГ не встречается, а последняя буква не равна Б?
Решение
from itertools import *
k = 0
result = None
for w in sorted(product('берг', repeat=5)):
s = ''.join(w)
k += 1
if k % 3 == 0 and s.count('е') == 1 and 'гг' not in s and s[-1] != 'б':
result = k
print(result)
Ответ:1023
Условие
Все 5-буквенные слова, в составе которых могут быть только русские буквы Ш, А, Р, записаны в алфавитном порядке и пронумерованы начиная с 1. Вот начало списка: 1. ААААА 2. ААААР 3. ААААШ 4. АААРА 5. АААРР. Под каким наибольшим нечётным номером в списке идёт слово, в котором буква Ш встречается ровно 3 раза, сочетание РР не встречается, а третья буква не равна А?
Решение
from itertools import *
k = 0
for w in sorted(product('шар', repeat=5)):
s = ''.join(w)
k += 1
if k % 2 != 0 and s.count('ш') == 3 and 'рр' not in s and s[2] != 'а':
result = k
print(result)
Ответ:235
Условие
Все 6-буквенные слова, в составе которых могут быть только русские буквы З, И, М, А, записаны в алфавитном порядке и пронумерованы начиная с 1. Вот начало списка: 1. АААААА 2. АААААЗ 3. АААААИ 4. АААААМ 5. ААААЗА. Под каким наибольшим номером, кратным 3, в списке идёт слово, в котором буква А встречается ровно 1 раз, сочетание ИМ не встречается, а первая буква не равна З?
Решение
from itertools import *
k = 0
for w in sorted(product('зима', repeat=6)):
s = ''.join(w)
k += 1
if k % 3 == 0 and s.count('а') == 1 and 'им' not in s and s[0] != 'з':
result = k
print(result)
Ответ:4089
Условие
Сколько существует пятизначных восьмеричных чисел, в записи которых ровно 2 чётные цифры, сочетание 00 не встречается, а последняя цифра чётная?
Решение
from itertools import *
k = 0
for w in product('01234567', repeat=5):
s = ''.join(w)
if s[0] != '0' and sum(int(c) % 2 == 0 for c in s) == 2 and '00' not in s and s[-1] in '0246':
k += 1
print(k)
Ответ:3776
Условие
Сколько существует шестизначных семеричных чисел, в записи которых цифра 6 встречается ровно 2 раза, соседние цифры всегда разной чётности, а вторая цифра не равна 0?
Решение
from itertools import *
k = 0
for w in product('0123456', repeat=6):
s = ''.join(w)
if s[0] != '0' and s.count('6') == 2 and all(not (int(s[i]) % 2 == int(s[i + 1]) % 2) for i in range(5)) and s[1] != '0':
k += 1
print(k)
Ответ:432
Условие
Сколько существует пятизначных девятеричных чисел, в записи которых ровно 3 нечётные цифры, сочетание 88 не встречается, а последняя цифра не является чётной?
Решение
from itertools import *
k = 0
for w in product('012345678', repeat=5):
s = ''.join(w)
if s[0] != '0' and sum(c in '1357' for c in s) == 3 and '88' not in s and s[-1] not in '2468':
k += 1
print(k)
Ответ:9664
Условие
Сколько существует шестизначных шестнадцатеричных чисел, в записи которых ровно 2 символа имеют числовое значение, превышающее 9, сочетание F0 не встречается, а первая цифра не имеет числового значения, превышающего 9?
Решение
from itertools import *
k = 0
for w in product('0123456789ABCDEF', repeat=6):
s = ''.join(w)
if s[0] != '0' and sum(c in 'ABCDEF' for c in s) == 2 and 'F0' not in s and s[0] not in 'ABCDEF':
k += 1
print(k)
Ответ:3175470
Условие
Сколько существует пятизначных двенадцатеричных чисел, в записи которых символ A встречается ровно 1 раз, символ B встречается ровно 1 раз, а сочетания AB и BA не встречаются?
Решение
from itertools import *
k = 0
for w in product('0123456789AB', repeat=5):
s = ''.join(w)
if s[0] != '0' and s.count('A') == 1 and s.count('B') == 1 and 'AB' not in s and 'BA' not in s:
k += 1
print(k)
Ответ:11400
Условие
Сколько существует семизначных восьмеричных чисел, в записи которых цифра 7 встречается не более 2 раз, чётных цифр не меньше 3, а две последние цифры различны?
Решение
from itertools import *
k = 0
for w in product('01234567', repeat=7):
s = ''.join(w)
if s[0] != '0' and s.count('7') <= 2 and sum(int(c) % 2 == 0 for c in s) >= 3 and s[-2] != s[-1]:
k += 1
print(k)
Ответ:1196396
Условие
Сколько существует пятизначных пятеричных чисел, в записи которых цифра 2 встречается ровно 1 раз, сочетания 12 и 21 не встречаются, а нечётных цифр ровно 2?
Решение
from itertools import *
k = 0
for w in product('01234', repeat=5):
s = ''.join(w)
if s[0] != '0' and s.count('2') == 1 and '12' not in s and '21' not in s and sum(int(c) % 2 for c in s) == 2:
k += 1
print(k)
Ответ:248
Условие
Сколько существует шестизначных десятичных чисел, в записи которых ровно 3 чётные цифры, цифра 5 встречается ровно 1 раз, а сочетание 55 не встречается?
Решение
from itertools import *
k = 0
for w in product('0123456789', repeat=6):
s = ''.join(w)
if s[0] != '0' and sum(c in '02468' for c in s) == 3 and s.count('5') == 1 and '55' not in s:
k += 1
print(k)
Ответ:108000
Условие
Сколько существует пятизначных шестнадцатеричных чисел, в записи которых есть хотя бы один символ со значением больше 9, цифра 0 не встречается, а соседние символы всегда различны?
Решение
from itertools import *
k = 0
for w in product('0123456789ABCDEF', repeat=5):
s = ''.join(w)
if s[0] != '0' and sum(c in 'ABCDEF' for c in s) >= 1 and s.count('0') == 0 and all(s[i] != s[i + 1] for i in range(4)):
k += 1
print(k)
Ответ:539376
Условие
Сколько существует шестизначных девятеричных чисел, в записи которых цифра 8 встречается ровно 2 раза, первая цифра нечётная, а сочетание 17 не встречается?
Решение
from itertools import *
k = 0
for w in product('012345678', repeat=6):
s = ''.join(w)
if s[0] != '0' and s.count('8') == 2 and s[0] not in '2468' and '17' not in s:
k += 1
print(k)
Ответ:19715
Условие
Сколько существует пятизначных восьмеричных чисел, в записи которых ровно 2 цифры больше 3, цифра 1 встречается ровно 1 раз, а сочетание 44 не встречается?
Решение
from itertools import *
k = 0
for w in product('01234567', repeat=5):
s = ''.join(w)
if s[0] != '0' and sum(int(c) > 3 for c in s) == 2 and s.count('1') == 1 and '44' not in s:
k += 1
print(k)
Ответ:3654
Условие
Сколько существует шестизначных шестнадцатеричных чисел, в записи которых символ A встречается ровно 2 раза, чётных символов ровно 3, а последняя цифра не является нечётной?
Решение
from itertools import *
k = 0
for w in product('0123456789ABCDEF', repeat=6):
s = ''.join(w)
if s[0] != '0' and s.count('A') == 2 and sum(c in '02468ACE' for c in s) == 3 and s[-1] not in 'BDF':
k += 1
print(k)
Ответ:170752
Условие
Сколько существует пятизначных семеричных чисел, в записи которых никакие две чётные цифры не стоят рядом, цифра 3 встречается ровно 2 раза, а последняя цифра не равна 6?
Решение
from itertools import *
k = 0
for w in product('0123456', repeat=5):
s = ''.join(w)
if s[0] != '0' and all(not (s[i] in '0246' and s[i + 1] in '0246') for i in range(4)) and s.count('3') == 2 and s[-1] != '6':
k += 1
print(k)
Ответ:986
Условие
Сколько существует семизначных десятичных чисел, в записи которых цифра 9 встречается ровно 1 раз, нечётных цифр ровно 4, а сочетания 90 и 09 не встречаются?
Решение
from itertools import *
k = 0
for w in product('0123456789', repeat=7):
s = ''.join(w)
if s[0] != '0' and s.count('9') == 1 and sum(int(c) % 2 == 1 for c in s) == 4 and '90' not in s and '09' not in s:
k += 1
print(k)
Ответ:865664
Условие
Сколько существует пятизначных двенадцатеричных чисел, в записи которых ровно 2 символа имеют значение больше 9, вторая и третья цифры различны, а сочетание 00 не встречается?
Решение
from itertools import *
k = 0
for w in product('0123456789AB', repeat=5):
s = ''.join(w)
if s[0] != '0' and sum(c in 'AB' for c in s) == 2 and s[1] != s[2] and '00' not in s:
k += 1
print(k)
Ответ:34434
Условие
Сколько существует шестизначных восьмеричных чисел, в записи которых цифра 0 встречается ровно 1 раз, цифра 7 встречается ровно 1 раз, а сочетания 07 и 70 не встречаются?
Решение
from itertools import *
k = 0
for w in product('01234567', repeat=6):
s = ''.join(w)
if s[0] != '0' and s.count('0') == 1 and s.count('7') == 1 and '07' not in s and '70' not in s:
k += 1
print(k)
Ответ:20736
Условие
Сколько существует пятизначных шестнадцатеричных чисел, в записи которых символ F встречается ровно 1 раз, всего символов со значением больше 9 ровно 2, а первая цифра имеет чётное числовое значение?
Решение
from itertools import *
k = 0
for w in product('0123456789ABCDEF', repeat=5):
s = ''.join(w)
if s[0] != '0' and s.count('F') == 1 and sum(c in 'ABCDEF' for c in s) == 2 and s[0] not in '13579BDF':
k += 1
print(k)
Ответ:36000
Условие
Сколько существует шестизначных четырёхзначных чисел в системе счисления с основанием 4, в записи которых цифра 3 встречается ровно 2 раза, соседние цифры всегда различны, а цифр 0 и 2 вместе ровно 3?
Решение
from itertools import *
k = 0
for w in product('0123', repeat=6):
s = ''.join(w)
if s[0] != '0' and s.count('3') == 2 and all(s[i] != s[i + 1] for i in range(5)) and sum(c in '02' for c in s) == 3:
k += 1
print(k)
Ответ:139
Условие
Сколько существует пятизначных десятичных чисел, в записи которых ровно 1 чётная цифра из набора 2, 4, 6, 8, цифра 7 встречается ровно 2 раза, а сочетание 77 не встречается?
Решение
from itertools import *
k = 0
for w in product('0123456789', repeat=5):
s = ''.join(w)
if s[0] != '0' and sum(c in '2468' for c in s) == 1 and s.count('7') == 2 and '77' not in s:
k += 1
print(k)
Ответ:1680
Условие
Сколько существует шестизначных девятеричных чисел, в записи которых ровно 3 цифры меньше 4, цифра 8 встречается ровно 1 раз, а никакие две нечётные цифры не стоят рядом?
Решение
from itertools import *
k = 0
for w in product('012345678', repeat=6):
s = ''.join(w)
if s[0] != '0' and sum(int(c) < 4 for c in s) == 3 and s.count('8') == 1 and all(not (s[i] in '1357' and s[i + 1] in '1357') for i in range(5)):
k += 1
print(k)
Ответ:23840
Условие
Все 6-буквенные слова, в составе которых могут быть только русские буквы А, Б, В, Г, Д, записаны в алфавитном порядке и пронумерованы начиная с 1.
Вот начало списка:
1. АААААА
2. АААААБ
3. АААААВ
4. АААААГ
5. АААААД
Под каким наибольшим нечётным номером в списке идёт слово, в котором:
- буква А встречается ровно 2 раза;
- сочетания БВ и ВБ не встречаются;
- первая буква - Б или Г;
- последняя буква не равна Д;
- буква Г встречается хотя бы 1 раз?
Решение
from itertools import *
k = 0
for w in sorted(product('абвгд', repeat=6)):
s = ''.join(w)
k += 1
if k % 2 != 0 and s.count('а') == 2 and 'бв' not in s and 'вб' not in s and s[0] in 'бг' and s[-1] != 'д' and s.count('г') >= 1:
result = k
print(result)
Ответ:12451
Условие
Все 5-буквенные слова, в составе которых могут быть только русские буквы Е, Ж, З, И, К, записаны в алфавитном порядке и пронумерованы начиная с 1.
Вот начало списка:
1. ЕЕЕЕЕ
2. ЕЕЕЕЖ
3. ЕЕЕЕЗ
4. ЕЕЕЕИ
5. ЕЕЕЕК
Под каким наибольшим номером, кратным 3, в списке идёт слово, в котором:
- буква И встречается ровно 2 раза;
- сочетание ЖЖ не встречается;
- сочетание ЗЕ не встречается;
- вторая буква не равна К;
- две последние буквы не образуют сочетание ИК;
- первая буква не равна Е?
Решение
from itertools import *
k = 0
for w in sorted(product('ежзик', repeat=5)):
s = ''.join(w)
k += 1
if k % 3 == 0 and s.count('и') == 2 and 'жж' not in s and 'зе' not in s and s[1] != 'к' and s[-2:] != 'ик' and s[0] != 'е':
result = k
print(result)
Ответ:2991
Условие
Все 5-буквенные слова, в составе которых могут быть только русские буквы К, Л, М, Н, О, П, Р, записаны в алфавитном порядке и пронумерованы начиная с 1.
Вот начало списка:
1. ККККК
2. ККККЛ
3. ККККМ
4. ККККН
5. ККККО
Под каким наибольшим нечётным номером в списке идёт слово, в котором:
- буква О встречается ровно 1 раз;
- буква Р встречается ровно 2 раза;
- сочетание ЛЛ не встречается;
- сочетание МН не встречается;
- первая буква не равна П;
- последняя буква - К или Р;
- третья буква не равна О?
Решение
from itertools import *
k = 0
for w in sorted(product('клмнопр', repeat=5)):
s = ''.join(w)
k += 1
if k % 2 != 0 and s.count('о') == 1 and s.count('р') == 2 and 'лл' not in s and 'мн' not in s and s[0] != 'п' and s[-1] in 'кр' and s[2] != 'о':
result = k
print(result)
Ответ:16591
Условие
Все 6-буквенные слова, в составе которых могут быть только русские буквы А, Б, И, К, О, Р, С, записаны в алфавитном порядке и пронумерованы начиная с 1.
Вот начало списка:
1. АААААА
2. АААААБ
3. АААААИ
4. АААААК
5. АААААО
Под каким наибольшим номером, кратным 5, в списке идёт слово, в котором:
- буква О встречается ровно 1 раз;
- буква С встречается ровно 2 раза;
- сочетание АА не встречается;
- сочетание РИ не встречается;
- первая буква - Б, К или С;
- последняя буква не равна О;
- четвёртая буква не равна К?
Решение
from itertools import *
k = 0
for w in sorted(product('абикорс', repeat=6)):
s = ''.join(w)
k += 1
if k % 5 == 0 and s.count('о') == 1 and s.count('с') == 2 and 'аа' not in s and 'ри' not in s and s[0] in 'бкс' and s[-1] != 'о' and s[3] != 'к':
result = k
print(result)
Ответ:117240
Условие
Все 7-буквенные слова, в составе которых могут быть только русские буквы М, И, Р, Т, записаны в алфавитном порядке и пронумерованы начиная с 1.
Вот начало списка:
1. ИИИИИИИ
2. ИИИИИИМ
3. ИИИИИИР
4. ИИИИИИТ
5. ИИИИИМИ
Под каким наибольшим чётным номером в списке идёт слово, в котором:
- буква М встречается ровно 2 раза;
- буква И встречается ровно 1 раз;
- сочетания РТ и ТР не встречаются;
- первая буква не равна Т;
- последняя буква не равна И;
- вторая и третья буквы различны?
Решение
from itertools import *
k = 0
for w in sorted(product('мирт', repeat=7)):
s = ''.join(w)
k += 1
if k % 2 == 0 and s.count('м') == 2 and s.count('и') == 1 and 'рт' not in s and 'тр' not in s and s[0] != 'т' and s[-1] != 'и' and s[1] != s[2]:
result = k
print(result)
Ответ:10738
Условие
Все 6-буквенные слова, в составе которых могут быть только русские буквы С, Н, Е, Г, записаны в алфавитном порядке и пронумерованы начиная с 1.
Вот начало списка:
1. ГГГГГГ
2. ГГГГГЕ
3. ГГГГГН
4. ГГГГГС
5. ГГГГЕГ
Под каким наибольшим номером, кратным 3, в списке идёт слово, в котором:
- буква Е встречается ровно 2 раза;
- буква Г встречается хотя бы 1 раз;
- сочетание НН не встречается;
- сочетание СГ не встречается;
- первая буква не равна Е;
- последняя буква - Е или Н;
- третья буква не равна С?
Решение
from itertools import *
k = 0
for w in sorted(product('снег', repeat=6)):
s = ''.join(w)
k += 1
if k % 3 == 0 and s.count('е') == 2 and s.count('г') >= 1 and 'нн' not in s and 'сг' not in s and s[0] != 'е' and s[-1] in 'ен' and s[2] != 'с':
result = k
print(result)
Ответ:3918
Условие
Все 6-буквенные слова, в составе которых могут быть только русские буквы П, А, Р, У, С, записаны в алфавитном порядке и пронумерованы начиная с 1.
Вот начало списка:
1. АААААА
2. АААААП
3. АААААР
4. АААААС
5. АААААУ
Под каким наибольшим нечётным номером в списке идёт слово, в котором:
- буква А встречается ровно 1 раз;
- буква Р встречается ровно 2 раза;
- сочетание УУ не встречается;
- сочетание СП не встречается;
- первая буква - Р или С;
- последняя буква не равна П;
- вторая буква не равна А;
- четвёртая буква не равна У?
Решение
from itertools import *
k = 0
for w in sorted(product('парус', repeat=6)):
s = ''.join(w)
k += 1
if k % 2 != 0 and s.count('а') == 1 and s.count('р') == 2 and 'уу' not in s and 'сп' not in s and s[0] in 'рс' and s[-1] != 'п' and s[1] != 'а' and s[3] != 'у':
result = k
print(result)
Ответ:12311
Условие
Все 6-буквенные слова, в составе которых могут быть только русские буквы Д, Е, К, О, Р, записаны в алфавитном порядке и пронумерованы начиная с 1.
Вот начало списка:
1. ДДДДДД
2. ДДДДДЕ
3. ДДДДДК
4. ДДДДДО
5. ДДДДДР
Под каким наибольшим номером, кратным 4, в списке идёт слово, в котором:
- буква О встречается ровно 2 раза;
- буква Е встречается ровно 1 раз;
- сочетания КР и РК не встречаются;
- первая буква не равна Д;
- последняя буква - О или Р;
- третья буква не равна К?
Решение
from itertools import *
k = 0
for w in sorted(product('декор', repeat=6)):
s = ''.join(w)
k += 1
if k % 4 == 0 and s.count('о') == 2 and s.count('е') == 1 and 'кр' not in s and 'рк' not in s and s[0] != 'д' and s[-1] in 'ор' and s[2] != 'к':
result = k
print(result)
Ответ:15584
Условие
Все 5-буквенные слова, в составе которых могут быть только русские буквы Л, А, М, П, О, записаны в алфавитном порядке и пронумерованы начиная с 1.
Вот начало списка:
1. ААААА
2. ААААЛ
3. ААААМ
4. ААААО
5. ААААП
Под каким наибольшим нечётным номером в списке идёт слово, в котором:
- буква А встречается ровно 2 раза;
- буква Л встречается ровно 1 раз;
- сочетание ММ не встречается;
- сочетание ПЛ не встречается;
- первая буква не равна М;
- последняя буква не равна Л;
- вторая буква - А или П?
Решение
from itertools import *
k = 0
for w in sorted(product('лампо', repeat=5)):
s = ''.join(w)
k += 1
if k % 2 != 0 and s.count('а') == 2 and s.count('л') == 1 and 'мм' not in s and 'пл' not in s and s[0] != 'м' and s[-1] != 'л' and s[1] in 'ап':
result = k
print(result)
Ответ:2581
Условие
Все 6-буквенные слова, в составе которых могут быть только русские буквы Т, Е, Р, М, И, Н, записаны в алфавитном порядке и пронумерованы начиная с 1.
Вот начало списка:
1. ЕЕЕЕЕЕ
2. ЕЕЕЕЕИ
3. ЕЕЕЕЕМ
4. ЕЕЕЕЕН
5. ЕЕЕЕЕР
Под каким наибольшим номером, кратным 3, в списке идёт слово, в котором:
- буква И встречается ровно 1 раз;
- буква Н встречается ровно 2 раза;
- сочетание ЕЕ не встречается;
- сочетание РТ не встречается;
- первая буква - М, Н или Т;
- последняя буква не равна И;
- третья буква не равна М;
- две последние буквы не образуют сочетание ЕН?
Решение
from itertools import *
k = 0
for w in sorted(product('термин', repeat=6)):
s = ''.join(w)
k += 1
if k % 3 == 0 and s.count('и') == 1 and s.count('н') == 2 and 'ее' not in s and 'рт' not in s and s[0] in 'мнт' and s[-1] != 'и' and s[2] != 'м' and s[-2:] != 'ен':
result = k
print(result)
Ответ:46128
Условие
Сколько существует уникальных 6-буквенных слов, составленных перестановкой букв слова ПАЛИТРА, в которых:
- используется ровно 6 букв слова;
- все буквы в слове различны;
- первая буква не равна П;
- последняя буква - гласная;
- сочетание ЛИ не встречается;
- буквы Т и Р не стоят рядом;
- в слове ровно 3 гласные?
Решение
from itertools import *
k = 0
a = set()
for w in permutations('палитра', 6):
s = ''.join(w)
if len(set(s)) == 6 and s[0] != 'п' and s[-1] in 'аиа' and 'ли' not in s and 'тр' not in s and 'рт' not in s:
if sum(ch in 'аииа' for ch in s) == 3:
a.add(s)
print(len(a))
Ответ:0
Условие
Сколько существует уникальных 5-буквенных слов, которые можно составить из букв слова КОМЕТА, если:
- каждая буква используется не более одного раза;
- первая буква - согласная;
- последняя буква не равна А;
- буквы К и М не стоят рядом;
- сочетание ЕТ не встречается;
- в слове ровно 2 гласные?
Решение
from itertools import *
a = set()
for w in permutations('комета', 5):
s = ''.join(w)
if s[0] not in 'оеа' and s[-1] != 'а' and 'км' not in s and 'мк' not in s and 'ет' not in s:
if sum(ch in 'оеа' for ch in s) == 2:
a.add(s)
print(len(a))
Ответ:110
Условие
Сколько существует уникальных 7-буквенных слов, составленных из букв слова САМОВАР, в которых:
- каждая буква используется ровно один раз;
- первая буква не равна С;
- последняя буква не равна Р;
- буквы А не стоят рядом;
- сочетание МО не встречается;
- между буквами В и Р есть хотя бы одна буква;
- количество гласных больше количества согласных на 1?
Решение
from itertools import *
a = set()
for w in permutations('самовар'):
s = ''.join(w)
if s[0] != 'с' and s[-1] != 'р' and 'аа' not in s and 'мо' not in s:
if abs(s.index('в') - s.index('р')) > 1:
if sum(ch in 'аоа' for ch in s) == 4 and sum(ch not in 'аоа' for ch in s) == 3:
a.add(s)
print(len(a))
Ответ:0
Условие
Сколько существует уникальных 6-буквенных слов, которые можно составить из букв слова ГРАФИК, если:
- каждая буква встречается ровно один раз;
- первая буква - не гласная;
- последняя буква - не К;
- буквы Г и Ф не стоят рядом;
- сочетания РА и АР не встречаются;
- во 2-й и 5-й позициях стоят разные по типу буквы: одна гласная, другая согласная?
Решение
from itertools import *
a = set()
for w in permutations('график'):
s = ''.join(w)
if s[0] not in 'аи' and s[-1] != 'к' and 'гф' not in s and 'фг' not in s and 'ра' not in s and 'ар' not in s:
if (s[1] in 'аи') != (s[4] in 'аи'):
a.add(s)
print(len(a))
Ответ:120
Условие
Сколько существует уникальных 5-буквенных слов, составленных из букв слова ТУМАН, если:
- каждая буква используется не более одного раза;
- первая буква не равна Т;
- в слове ровно 2 гласные;
- буквы М и Н не стоят рядом;
- сочетание УА не встречается;
- третья буква - согласная?
Решение
from itertools import *
a = set()
for w in permutations('туман', 5):
s = ''.join(w)
if s[0] != 'т' and sum(ch in 'уа' for ch in s) == 2 and 'мн' not in s and 'нм' not in s and 'уа' not in s and s[2] not in 'уа':
a.add(s)
print(len(a))
Ответ:32
Условие
Сколько существует различных 6-буквенных слов, которые можно составить перестановкой букв слова АНАНАС, если:
- все одинаковые слова считаются один раз;
- сочетание АА не встречается;
- слово не начинается с С;
- слово не оканчивается на Н;
- буква С стоит правее буквы Н;
- между двумя буквами Н находится ровно 1 буква?
Решение
from itertools import *
a = set()
for w in permutations('ананас'):
s = ''.join(w)
if 'аа' not in s and s[0] != 'с' and s[-1] != 'н' and s.index('с') > s.index('н'):
pos = [i for i in range(len(s)) if s[i] == 'н']
if len(pos) == 2 and pos[1] - pos[0] == 2:
a.add(s)
print(len(a))
Ответ:3
Условие
Сколько существует различных 7-буквенных слов, которые можно составить из букв слова МОЛОКОО, если:
- одинаковые слова считаются один раз;
- буква О встречается в слове столько раз, сколько есть в исходном наборе;
- сочетание ОО не встречается;
- первая буква не равна О;
- последняя буква - согласная;
- буквы М и К не стоят рядом;
- в слове есть подстрока ЛО, но нет подстроки МО?
Решение
from itertools import *
a = set()
for w in permutations('молокоо'):
s = ''.join(w)
if 'оо' not in s and s[0] != 'о' and s[-1] not in 'ооо' and 'мк' not in s and 'км' not in s and 'ло' in s and 'мо' not in s:
a.add(s)
print(len(a))
Ответ:0
Условие
Сколько существует уникальных 6-буквенных слов, которые можно составить из букв слова ПЕРЕХОД, если:
- выбираются ровно 6 букв;
- одинаковые слова считаются один раз;
- буква Е встречается ровно 1 раз;
- первая буква - согласная;
- последняя буква - гласная;
- сочетание РЕ не встречается;
- буквы П и Д не стоят рядом;
- в слове ровно 3 согласные?
Решение
from itertools import *
a = set()
for w in permutations('переход', 6):
s = ''.join(w)
if s.count('е') == 1 and s[0] not in 'ео' and s[-1] in 'ео' and 'ре' not in s and 'пд' not in s and 'дп' not in s:
if sum(ch not in 'ео' for ch in s) == 3:
a.add(s)
print(len(a))
Ответ:0
Условие
Сколько существует уникальных 5-буквенных слов, составленных из букв слова СВЕТА, если:
- каждая буква используется не более одного раза;
- первая буква - С или В;
- последняя буква не равна А;
- сочетания ЕТ и ТЕ не встречаются;
- буквы С и А не стоят рядом;
- в слове ровно 2 гласные;
- на чётных позициях не может стоять буква В?
Решение
from itertools import *
a = set()
for w in permutations('света'):
s = ''.join(w)
if s[0] in 'св' and s[-1] != 'а' and 'ет' not in s and 'те' not in s and 'са' not in s and 'ас' not in s:
if sum(ch in 'еа' for ch in s) == 2 and s[1] != 'в' and s[3] != 'в':
a.add(s)
print(len(a))
Ответ:10
Условие
Сколько существует различных 6-буквенных слов, которые можно составить из букв слова КАРАКУЛ, если:
- одинаковые слова считаются один раз;
- буква А встречается ровно 2 раза;
- буква К встречается ровно 2 раза;
- сочетание АА не встречается;
- сочетание КК не встречается;
- первая буква не равна Л;
- последняя буква - не гласная;
- между двумя буквами Р и У есть хотя бы одна буква?
Решение
from itertools import *
a = set()
for w in permutations('каракул', 6):
s = ''.join(w)
if s.count('а') == 2 and s.count('к') == 2 and 'аа' not in s and 'кк' not in s and s[0] != 'л' and s[-1] not in 'ау':
if 'р' in s and 'у' in s and abs(s.index('р') - s.index('у')) > 1:
a.add(s)
print(len(a))
Ответ:30
Условие
Сколько существует семизначных восьмеричных чисел, в записи которых:
- цифра 7 встречается ровно 2 раза;
- ровно 3 цифры чётные;
- сочетания 56 и 65 не встречаются;
- никакие две чётные цифры не стоят рядом;
- последняя цифра нечётная?
Решение
from itertools import *
k = 0
for w in product('01234567', repeat=7):
s = ''.join(w)
if s[0] != '0' and s.count('7') == 2 and sum(int(c) % 2 == 0 for c in s) == 3 and '56' not in s and '65' not in s and all(not (s[i] in '0246' and s[i + 1] in '0246') for i in range(6)) and s[-1] in '1357':
k += 1
print(k)
Ответ:9024
Условие
Сколько существует шестизначных тринадцатеричных чисел, в записи которых:
- ровно 2 символа имеют числовое значение больше 9;
- цифра 0 встречается ровно 1 раз;
- сочетания A0 и 0A не встречаются;
- первая цифра не имеет числового значения больше 9;
- не менее 3 символов имеют чётное числовое значение;
- последняя цифра имеет числовое значение больше 9?
Используются символы 0,1,2,3,4,5,6,7,8,9,A,B,C.
Решение
from itertools import *
k = 0
digits = '0123456789ABC'
gt9 = set('ABC')
even = set('02468AC')
for w in product(digits, repeat=6):
s = ''.join(w)
if s[0] == '0':
continue
if sum(ch in gt9 for ch in s) != 2:
continue
if s.count('0') != 1:
continue
if 'A0' in s or '0A' in s:
continue
if s[0] in gt9:
continue
if sum(ch in even for ch in s) < 3:
continue
if s[-1] not in gt9:
continue
k += 1
print(k)
Ответ:49803
Условие
Сколько существует шестизначных десятичных чисел с различными цифрами, в записи которых:
- ровно 3 цифры нечётные;
- цифры 1 и 8 обе присутствуют, но не стоят рядом;
- последняя цифра не равна 0 и не равна 5;
- вторая цифра чётная;
- третья цифра меньше четвёртой;
- сочетания 27 и 72 не встречаются?
Решение
from itertools import *
k = 0
for w in permutations('0123456789', 6):
s = ''.join(w)
if s[0] == '0':
continue
if sum(int(ch) % 2 for ch in s) != 3:
continue
if s.count('1') != 1 or s.count('8') != 1:
continue
if abs(s.index('1') - s.index('8')) == 1:
continue
if s[-1] in '05':
continue
if s[1] not in '2468':
continue
if int(s[2]) >= int(s[3]):
continue
if '27' in s or '72' in s:
continue
k += 1
print(k)
Ответ:2355
Условие
Сколько существует восьмизначных семеричных чисел, в записи которых:
- цифра 6 встречается ровно 2 раза;
- ровно 4 цифры нечётные;
- сочетания 00 и 66 не встречаются;
- никакие две соседние цифры не совпадают;
- первая цифра нечётная;
- последняя цифра чётная;
- третья цифра не равна 3?
Решение
from itertools import *
k = 0
for w in product('0123456', repeat=8):
s = ''.join(w)
if s[0] == '0':
continue
if s.count('6') != 2:
continue
if sum(ch in '135' for ch in s) != 4:
continue
if '00' in s or '66' in s:
continue
if any(s[i] == s[i + 1] for i in range(7)):
continue
if s[0] in '0246':
continue
if s[-1] not in '0246':
continue
if s[2] == '3':
continue
k += 1
print(k)
Ответ:29544
Условие
Сколько существует семизначных пятеричных чисел, в записи которых:
- цифра 2 встречается ровно 2 раза;
- ровно 4 цифры чётные;
- сочетания 12, 21, 23, 32 не встречаются;
- вторая цифра - 1 или 3;
- две последние цифры различны?
Решение
from itertools import *
k = 0
for w in product('01234', repeat=7):
s = ''.join(w)
if s[0] == '0':
continue
if s.count('2') != 2:
continue
if sum(int(ch) % 2 == 0 for ch in s) != 4:
continue
if '12' in s or '21' in s or '23' in s or '32' in s:
continue
if s[1] not in '13':
continue
if s[-2] == s[-1]:
continue
k += 1
print(k)
Ответ:96
Условие
Сколько существует пятизначных двенадцатеричных чисел с различными символами, в записи которых:
- ровно 1 символ имеет числовое значение больше 9;
- ровно 3 символа имеют нечётное числовое значение;
- если в записи есть A и 5, то они не стоят рядом;
- последняя цифра не имеет чётного числового значения;
- вторая цифра больше третьей;
- число не начинается с B?
Используются символы 0,1,2,3,4,5,6,7,8,9,A,B.
Решение
from itertools import *
k = 0
digits = '0123456789AB'
gt9 = 'AB'
odd = '13579B'
for w in permutations(digits, 5):
s = ''.join(w)
if s[0] == '0':
continue
if sum(ch in gt9 for ch in s) != 1:
continue
if sum(ch in odd for ch in s) != 3:
continue
if ('A' in s and '5' in s) and abs(s.index('A') - s.index('5')) == 1:
continue
if s[-1] in '02468':
continue
if int(s[1], 12) <= int(s[2], 12):
continue
if 'B' in s and s[0] == 'B':
continue
k += 1
print(k)
Ответ:4410
Условие
Сколько существует шестизначных шестнадцатеричных чисел с различными символами, в записи которых:
- ровно 2 символа имеют числовое значение больше 9;
- ровно 3 символа имеют чётное числовое значение;
- обязательно присутствуют F и 0, но они не стоят рядом;
- последняя цифра имеет нечётное числовое значение;
- третья цифра меньше пятой?
Используются символы 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.
Решение
from itertools import *
def val(ch):
return int(ch, 16)
k = 0
digits = '0123456789ABCDEF'
for w in permutations(digits, 6):
s = ''.join(w)
if s[0] == '0':
continue
if sum(ch in 'ABCDEF' for ch in s) != 2:
continue
if sum(val(ch) % 2 == 0 for ch in s) != 3:
continue
if 'F' not in s or '0' not in s:
continue
if abs(s.index('F') - s.index('0')) <= 1:
continue
if s[-1] in '02468ACE':
continue
if val(s[2]) >= val(s[4]):
continue
k += 1
print(k)
Ответ:18360
Условие
Сколько существует шестизначных девятеричных чисел, в записи которых:
- ровно 3 цифры больше 4;
- цифра 8 встречается ровно 1 раз;
- соседние цифры всегда разной чётности;
- сочетания 18 и 81 не встречаются;
- первая цифра нечётная?
Решение
from itertools import *
k = 0
for w in product('012345678', repeat=6):
s = ''.join(w)
if s[0] == '0':
continue
if sum(int(ch) > 4 for ch in s) != 3:
continue
if s.count('8') != 1:
continue
if any((int(s[i]) % 2) == (int(s[i + 1]) % 2) for i in range(5)):
continue
if '18' in s or '81' in s:
continue
if s[0] not in '1357':
continue
k += 1
print(k)
Ответ:692
Условие
Сколько существует пятизначных восьмеричных чисел с различными цифрами, в записи которых:
- ровно 2 цифры чётные и ровно 3 цифры нечётные;
- цифра 7 встречается ровно 1 раз;
- первая цифра чётная;
- последняя цифра нечётная;
- если в числе есть 2 и 7, то они не стоят рядом;
- сочетания 35 и 53 не встречаются?
Решение
from itertools import *
k = 0
for w in permutations('01234567', 5):
s = ''.join(w)
if s[0] == '0':
continue
if sum(ch in '0246' for ch in s) != 2:
continue
if sum(ch in '1357' for ch in s) != 3:
continue
if s.count('7') != 1:
continue
if s[0] not in '246':
continue
if s[-1] not in '1357':
continue
if ('2' in s and '7' in s) and abs(s.index('2') - s.index('7')) == 1:
continue
if '35' in s or '53' in s:
continue
k += 1
print(k)
Ответ:336
Условие
Сколько существует семизначных десятичных чисел, в записи которых:
- цифра 0 встречается ровно 2 раза;
- ровно 4 цифры нечётные;
- сочетания 00, 09, 90 не встречаются;
- вторая цифра нечётная;
- последняя цифра чётная;
- третья и пятая цифры различны?
Решение
from itertools import *
k = 0
for w in product('0123456789', repeat=7):
s = ''.join(w)
if s[0] == '0':
continue
if s.count('0') != 2:
continue
if sum(int(ch) % 2 == 1 for ch in s) != 4:
continue
if '00' in s or '09' in s or '90' in s:
continue
if s[1] not in '13579':
continue
if s[-1] not in '02468':
continue
if s[2] == s[4]:
continue
k += 1
print(k)
Ответ:20800
Условие
Все 5-буквенные слова, составленные из букв А, П, Р, Е, Л, Ь, записаны в алфавитном порядке и пронумерованы.
Вот начало списка:
1. ААААА
2. ААААЕ
3. ААААЛ
4. ААААП
5. ААААР
6. ААААЬ
...
Определите, под каким номером в списке идёт последнее слово с чётным номером, которое не начинается с букв Ь или Р и при этом содержит в своей записи не менее двух букв Л.
Решение
from itertools import product
letters = sorted('АПРЕЛЬ') # А Е Л П Р Ь
result = None
for i, w in enumerate(product(letters, repeat=5), 1):
s = ''.join(w)
if i % 2 == 0 and s[0] not in ('Ь','Р') and s.count('Л') >= 2:
result = i
print(result)
Ответ:5058
Условие
Сколько существует 16-ричных четырёхзначных чисел, в записи которых ровно одна цифра D, при этом ни одна нечётная цифра не стоит рядом с цифрой D?
Решение
# Задача 8: Комбинаторика / перебор слов/чисел
count = 0
# Прямой перебор по условию задачи
# Пример для слов из n букв алфавита:
# from itertools import product
# alphabet = sorted([...])
# for word in product(alphabet, repeat=n):
# if <условие>:
# count += 1
# print(count)
# Пример для чисел в системе счисления:
# base = ...
# for n in range(base**4, base**5): # пятизначные
# digits = []
# tmp = n
# while tmp:
# digits.append(tmp % base)
# tmp //= base
# if <условие на digits>:
# count += 1
# print(count)
# Ответ: 5216
Ответ:5216
Условие
Все шестибуквенные слова, составленные из букв А, И, Н, О, Р, Т (каждая буква может использоваться несколько раз), записаны в алфавитном порядке и пронумерованы, начиная с 1. Вот начало списка:
1. АААААА
2. АААААИ
3. АААААН
4. АААААO
5. АААААР
6. АААААТ
…
Определите, под каким номером в этом списке стоит слово ОРТИНА.
В ответе запишите только целое число.
Решение
Алфавитный порядок: А(0), И(1), Н(2), О(3), Р(4), Т(5). Основание = 6.
ОРТИНА → О=3, Р=4, Т=5, И=1, Н=2, А=0.
Номер = 3×6⁵ + 4×6⁴ + 5×6³ + 1×6² + 2×6¹ + 0×6⁰ + 1
= 3×7776 + 4×1296 + 5×216 + 36 + 12 + 0 + 1
= 23328 + 5184 + 1080 + 36 + 12 + 0 + 1
= 29641.
Ответ: 29641.
Ответ:29641
Условие
Все 5-буквенные слова, составленные из букв А, Б, В, Г, Д (каждая буква может повторяться), записаны в алфавитном порядке.
1) Определите порядковый номер слова ГВДБА.
2) Определите количество слов, которые стоят в этом списке после слова ГВДБА.
В ответе запишите два числа через пробел.
Решение
from itertools import product
alphabet = ['А','Б','В','Г','Д']
word = 'ГВДБА'
n, L = 5, 5
pos = 1
for i, char in enumerate(word):
pos += alphabet.index(char) * (n ** (L-1-i))
# Г(3)·5⁴ + В(2)·5³ + Д(4)·5² + Б(1)·5¹ + А(0)·5⁰ + 1
# = 1875 + 250 + 100 + 5 + 0 + 1 = 2231
total = n ** L # 5⁵ = 3125
after = total - pos # 3125 - 2231 = 894
print(pos, after) # 2231 894
Ответ:2231 894