Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
– символ «?» означает ровно одну произвольную цифру;
– символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Среди натуральных чисел, не превышающих , найдите все числа, соответствующие маске 3*4?50, а количество четных цифр числа больше количества нечетных.
В ответ запишите одно число – количество найденных чисел.
t = []
for x in range(10**4, 10**7+1):
s = str(x)
cht = [int(i) for i in s if int(i) % 2 == 0] # количество чётных цифр в числе
ncht = [int(i) for i in s if int(i) % 2 != 0] # количество нечётных цифр в числе
if (s[0] == ’3’) and (s[-2:] == ’50’) and (s[-4] == ’4’) and len(cht) > len(ncht): # проверка, что число соответствует маске и что, кол-во чётных цифр больше кол-ва нечётных цифр
t.append(x)
print(len(t))
Ответ: 530