Задача к ЕГЭ по информатике на тему «Маски» №14

Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:

– символ «?» означает ровно одну произвольную цифру;

– символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.

Например, маске 123*4?5 соответствуют числа 123405 и 12300405.

Среди натуральных чисел, не превышающих 107  , найдите все числа, соответствующие маске 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
Оцените статью
Я решу все!