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

Назовем число красивым, если оно делится на сумму своих цифр и имеет ровно 6 нетривиальных делителей. Найти на промежутке [51242,421421]  количество красивых чисел и их среднее арифметическое. В ответе запишите два числа через пробел: сначала количество чисел, потом целую часть их среднего арифметического.

def sum_digits(n):  # сумма цифр
    s = 0
    while n > 0:
        s += n % 10
        n //= 10
    return s


def count_div(n): # функция для подсчёта количества делителей
    k = 0
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            k += 1
            if n // i != i:
                k += 1
    return k


counter, summ = 0, 0
for i in range(51242, 421422):
    if i % sum_digits(i) == 0 and count_div(i) == 6: # проверка по условию
        counter += 1
        summ += i
print(counter, int(summ / counter))

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