Задание 8: сколько существует восьмеричный пятизначных чисел не содержащих число 1, все цифры различны и не могут стоять два чётных и два нечётных рядом
Ответы
Ответ: 180.
Код на языке Python:
import itertools
alphabet = "01234567"
ar = itertools.permutations(alphabet, 5) # Размещение
arl = []
for e in ar:
arl.append(list(e))
count = 0
for e in arl:
if '1' not in e:
flag = True
for i in range(len(e)-1):
if (e[0] == "0") or (int(e[i]) % 2 == 0 and int(e[i+1]) % 2 == 0) or (int(e[i]) % 2 != 0 and int(e[i+1]) % 2 != 0):
flag = False
if flag:
count += 1
print(count)
Объяснение:
Заметим, что чётных и нечётных цифр в восьмеричной системе счисления 4 и 4 соответственно. Найдём количество пятизначных чисел, начинающихся с нечётной цифры: 4 · 4 · 3 · 3 · 2 = 288. Найдём количество пятизначных чисел, начинающихся с чётной цифры (при этом учтем, что число не может начинаться с нуля): 3 · 4 · 3 · 3 · 2 = 216. Таким образом, получаем всего: 288 + 216 = 504.
Всего с 1 в числе: 324. 504-324 = 180.
Ответ: 180.