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

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

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

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

Сколько существует натуральных чисел, соответствующих следующей маске 123?  и их сумма цифр делилась на    3  . В ответ запишите в порядке возрастания найденные числа и соответствующий им результат от целочисленного деления на 3  .

Решение через циклы

counter=0
for a1 in (’0123456789’):
    s=’123’+a1 # число, удовлетворяющее маске
    n = 0 # сумма цифр числа
    for i in s:
        n += int(i)
    s = int(s)
    if n%3==0:
        print(s, s//3)

Решение через срезы

for x in range(1230,1240):
    n = str(x)
    if ’123’ in n[:3] and sum(map(int,n)) % 3 == 0: # проверка, что число соответствует маске и сумма цифр числа делится на 3
        print(x,x//3)

Ответ: 1230 410 1233 411 1236 412 1239 413
Оцените статью
Я решу все!