Определите количество восьмизначных чисел, записанных в пятиричной системе счисления, которые не оканчиваются на цифры, меньшие или равные 2, а также содержат поровну четных и нечетных цифр.
В ответе укажите одно число — количество найденных чисел.
Решение через циклы
a = ’01234’
count = set()
for x1 in ’1234’:
for x2 in a:
for x3 in a:
for x4 in a:
for x5 in a:
for x6 in a:
for x7 in a:
for x8 in ’34’:
s = x1+x2+x3+x4+x5+x6+x7+x8
# проверка, что чётных цифр и нечётных поровну
if len([i for i in s if int(i) % 2 == 0]) == len([i for i in s if int(i) % 2 != 0]):
count.add(s)
print(len(count))
Решение через itertools
import itertools
k = 0
for x in itertools.product(’01234’, repeat = 8):
s=’’.join(x)
if s[0] != ’0’ and int(s[7]) > 2:
count = 0
for a in s:
if int(a) % 2 == 0:
count += 1
if count == 4:
k += 1
print(k)
Ответ: 31320