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

Назовем натуральное число подходящим, если его сумма цифр, в сравнении с суммой цифр других натуральных чисел, минимальна.

Например, среди чисел 50, 5, 23, 32, сумма цифр которых равна 5, подходящим будет являться число 5.

Найдите количество подходящих чисел, кратных 3  , на отрезке [1;6999999999]

Для начала поймем, какие числа являются подходящими и кратными 3  :

def num(x):
    summ = 0
    while x > 0:
        summ += x % 10
        x //= 10
    return summ
a = set()
for i in range(1, 6999999999+1):
    t = num(i)
    if not t in a:
        if i % 3 == 0:
            print(i, t)
        a.add(t)

Данный код будет печатать числа 3,6,9  , а затем те числа, которые начинаются с 3  , 6  или 9  , а остальная часть которых будет целиком состоять из 9  .

Предлагается написать код-генератор для подобных чисел:

ans = [3, 6, 9]
nums = ’369’
x = ’9’
for i in range(9):
    for digit in nums:
        result = int(digit + x)
        if result <= 6999999999:
            ans.append(result)
    x += ’9’
print(len(ans))

Ответ: 29
Оцените статью
Я решу все!