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

Среди целых чисел, принадлежащих числовому отрезку [264871; 322989], найдите числа, которые представляют собой произведение двух различных простых делителей, заканчивающихся на одну и ту же цифру. Запишите в ответе количество таких чисел и их среднее арифметическое. Для среднего арифметического запишите только целую часть числа. Числа записать через пробел.

# Проверка на простоту
def is_prime(number):
    if number == 1: return False
    for div in range(2, int(number ** 0.5) + 1):
        if number % div == 0:
            return False
    return True


# Поиск чисел, которые являются произведением простых
# с одной и той же цифрой на конце
def find_numbers(number):
    for div in range(2, int(number ** 0.5) + 1):
        if number % div == 0:
            if is_prime(div) and is_prime(number // div) and div != number // div:
                if div % 10 == ((number // div) % 10):
                    return True
            return False
    return False


counter = 0
summa = 0
for i in range(264871, 322989 + 1):
    if find_numbers(i):
        summa += i
        counter += 1
print(counter, summa // counter)

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